如何查找MySQL数据库耗费CPU的SQL
1.Top -H -p pid 查找到耗费cpu资源的mysqld进程里的线程id例如是2122 mysql 20 0 2195448 74992 2348 R 83.1 26.4 0:03.78 mysqld &nb
MySQL-8.0里的双密码功能( 8.0.14)
RETAIN CURRENT PASSWORD双密码功能,在MySQL 8.0.14中可用保留一个帐户的当前密码作为它的辅助密码,替换任何现有的辅助密码。新密码成为主密码,但是客户机可以使用主密码或辅助密码使用该帐户连接到服务器。例外情况:如果SET password语句指定的新密码为空,则辅助密码也变为空,即使给定了当前密码。如果为主密码为空的帐户指定保留当前密码,则语句失败。如果一
MySQL的大小写敏感
1.和数据库名字、表名字、存储过程和触发器有关Mysql中控制数据库名和表名的大小写敏感是由参数lower_case_table_names控制,为0时;表示区分大小写,使用CREATE TABLE或CREATE DATABASE语句指定的大小写字母在硬盘上保存表名和数据库名。名称比较对大小写敏感。在大小写不敏感的操作系统如windows或Mac OS x上我们不能将该参数设为0,如果在大小写不敏
MySQL的plugin安装
mysql通过plugin可以扩展更多的功能.plugin相当于一种插件,用户可以根据自己的需要求开发各种各样的plugin来支持自定义的功能,比如存储引擎,半同步复制,分区等等各种各样的功能. mysql服务器的plugin可以分为两类,一种是内置的plugin,一种是外部的plugin.内部的plugin主要是和mysql服务器一起分发的,用户不需要额外干预.而外部的p
MySQL数据库InnoDB的锁等待
InnoDB 支持两种意向锁意向共享锁LOCK IN SHARE MODESELECT * FROM Country WHERE Code='AUS'LOCK IN SHARE MODE\G 意向互斥锁FOR UPDATESELECT counter_field INTO @@counter_field FROM child_codes FOR UPDATE;UPDATE
MySQL如何清理binlog日志
当mysql 日志占用太大空间的时候,要考虑将日志删除一 语法如下:PURGE {MASTER | BINARY} LOGS TO 'log_name'PURGE {MASTER | BINARY} LOGS BEFORE 'date'用于删除在指定的日志或日期之前的日志索引中的所有二进制日志。这些日志也会从记录在日志索引文件中的清单中被删除,这样被给定的日志成为第
MySQL数据库的线程状态
Wait on empty queue表示当前没有任何任务需要执行。Analyzing线程是对MyISAM 表的统计信息做分析(例如, ANALYZE TABLE )。checking permissions线程是检查服务器是否具有所需的权限来执行该语句。Checking table线程正在执行表检查操作。cleaning up线程处理一个命令,并正准备以释放内存和重置某些状态变量。closing
MySQL影响性能的几个参数
公共参数max_connections = 151#同时处理最大连接数,推荐设置最大连接数是上限连接数的80%左右sort_buffer_size = 2M#查询排序时缓冲区大小,只对order by和group by起作用,可增大此值为16Mquery_cache_limit = 1M#查询缓存限制,只有1M以下查询结果才会被缓存,以免结果数据较大把缓存池覆盖query_cache_size =
MySQL 忘记root密码的两种解决方法
1.skip-grant-tables2.init-file启动mysqld的时候加上参数skip-grant-tables在默认的参数文件中加上 skip-grant-tablesroot@infokist:/etc/mysql# service mysql restartroot@infokist:/etc/mysql# mysqlmysql> update mysql.user set
MySQL优化插入速度的一些思路
尝试修改参数加快导入速度在MySQL中,有一对“双一”参数,即 innodb_flush_log_at_trx_commit 与 sync_binlog 。为了安全性这两个参数默认值为1,为了快速导入脚本,我们可以临时修改下这两个参数,下面简单介绍下这两个参数:innodb_flush_log_at_trx_commit默认值为1,可设置为0、1、2如果innodb_flush_log_at_tr
MyISAM表的损坏恢复以及myisamchk工具使用
set default_storage_engine=MyISAM;创建一个表create table shop (id int,name varchar(20),price float(5,2),city varchar(20),street varchar(20),riqi date);insert into shop values(1001,".1 niu1"
解析binlog里记录的events以及mysqlbinlog的使用
SHOW BINARY LOGS; SHOW MASTER LOGS;SHOW BINLOG EVENTS IN ‘mysql-bin.000087’;SHOW BINLOG EVENTS IN ‘mysql-bin.000087’ FROM 1008; SHOW BINLOG EVENTS IN ‘mysql-bin.000087’ FROM 1008 limit 2,5;将
mysqldump使用示例
----导出数据库test-------mysqldump -uroot -p"SHtest456$%^" --set-gtid-purged=ON --skip-add-drop-table --master-data=2 --single-transaction --databases test>/archivelog/test4.sql;----导出多个数据库tes
MySQL Proxy
MySQL Proxy是位于mysql的客户端和服务器之间的中间层MySQL Proxy就是一个连接池,负责将前台应用的连接请求转发到后台数据库,并且通过使用lua脚本,实现复杂的连接控制和过滤,从而实现读写分离和负载均衡。MySQL Proxy对于应用程序来说是完全透明的。MySQL Proxy实现读写分离的原理就是将事务性语句交给主服务器操作,让从数据库处理select查询。配置mysql代理
MySQL的主从复制
主从、AB复制:Advanced Backup Replication是一种数据复制技术,是MySQL数据库提供的一种高可用、高性能的解决方案。MySQL支持单向复制、双向复制及异步复制,复制的过程是一台服务器充当主服务器、而一台或者多台服务器充当从服务器,主服务器可读写,从服务器只读。AB复制的模式: 一主一从、一主多从、双主、多主多从 &nbs
MySQL的日志管理
一、四种日志日志存放位置:数据目录下 [root@s200 ~]# cd /data/mysql/1、错误日志:记录mysql服务器的启动、运行及关闭过程,默认以.err结尾 mysql> show variables like 'log_error'; +-------
MySQL的general_log和slow_log
use mysql show tables; show create table general_log; CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` medi
PostgreSQL copy相关选项
copy table_name (col1,col2,col3)from 'sourceData.txt'with (FORMAT csv,DELIMITER ',',escape '\',header true,quote '"',encodi
Markdown格式相关
颜色浅红色文字 | 深红色文字 | 浅绿色文字&l
PostgreSQL表增加/删除字段是否会重写表
一、表添加字段1.PostgreSQL10版本及以下新增不带默认值的列PostgreSQL 10 版本前表新增不带默认值的列不需要重写表,只需要更新数据字典,因此能瞬间执行。如果不带默认值,则会填充空值。新增带默认值的列如果新增的字段带默认值,则需要重写表。表越大,执行时间越长。 重写表会对表加Access Exclusive锁,期间整张表是无法访问的。如果是生产环境下给大表添