- 1.,select @@version; ## 查询当前 MySQL 的版本.
- 2, show variables like 'port';## 查看 MySQL 实例的端口.
- 3,show variables like 'socket';## 查看实例的 socket 数据.
- 4, show variables like 'datadir';## 查看实例的数据路径.
- 5,show databases; ## 显示所有数据库名的命令 .
- 6, desc tablename; ## 显示表结构和列结构的命令.
- 7,show processlist \G;## 显示正在执行的线程.
- 8,explain ## 查看语句的执行计划.
- 9,show index from table_name ## 查看表的索引情况.
- 10, select * from STATISTICS where table_name='XXX'\G ## 查看表的统计信息.
- 11,select @@max_allowed_packet; ## 查询定义的 packet 大小.
- 12,show master status;## 查看 master 状态.
- show slave status ;## 查看 slave 状态.
- 13, show master logs;## 查看所有的 log 文件, 在主服务器上执行.
- 14, purge binary logs to 'mysql-bin3306.000003'; #MySQL-bin3306.000003 之前的日志被 purge.
- 15,show warnings; ## 显示最近的警告详情.
- 16,show variables \G; ## 查看当前 mysqld 的所有参数, 包括默认值.
- 17,show grants for 'username'@'hostip' \G; ## 查看某一个用户的权限, 请替换参数 username 和 hostip.
- 18, show create table tablename \G; ## 查看某表的创建脚本
实例参数部分
- ,show variables like 'log_slave%' \G; ## 指定条件的参数设置查询, 例如查询以 log_slave 开头的参数设置.
- , show variables like 'slow_query_log';## 查看是否开启了慢查询日志; ON 代表开启. 可以在线打开. set global slow_query_log = 1;
- , show variables like 'slow_query_log_file';## 查看慢查询日志的路径.
- ,show variables like 'long_query_time'; ## 查看慢查询定义的阈值, 单位是秒. 记录的查询是大于该值, 不包括该值.
- ,show variables like 'log_output'; ## 查看日志的输出格式(file 或 table).
- ,show variables like 'log_timestamps';## 查看日志的时间信息, UTC 时间或者 SYSTEM 时间.
- ,show variables like 'log_slow_slave_statements';## 查看从服务器是否开启慢查询日志, ON 代表开启.
- ,show variables like 'log_queries_not_using_indexes';## 将没有使用索引的 SQL 语句记录到慢查询日志中.
- ,show variables like 'log_throttle_queries_not_using_indexes';## 集合上面的参数一起使用, 限制每分钟内, 在慢查询日志中, 记录没有使用
索引的次数. 避免日志快速增长.
28,show variables like "default%tmp%"; 查看创建的临时表的存储引擎类型.
- ,show variables like 'innodb_log_file_size';## 查询 log 文件大小.
- ,show variables like 'innodb_page_size'; ## 查询页的大小. 一旦数据库通过 innodb_page_size 设置完成, 则后续无法更改. innodb_page_size
是针对普通表的, 压缩表不受限制.
31,show variables like 'innodb_buffer_pool_size';## 查看缓冲池的大小, 每次读写数据都是通过 buffer pool; 当 buffer pool 中没有所需的数据
时, 才去硬盘中获取. 该值设置的越大越好. buffer pool 也是以页 (page) 为单位的, 且大小和 innodb_page_size 一致.
32. show variables like 'innodb_buffer_pool_instances'; ## 设置多少个缓冲池. 设置多个 instance 可将热点打散, 提高并发性能(建议设置成 CPU
个数值)
- ,show engine innodb status \G;## 查看 buffer pool 的状态.
- ,set global innodb_buffer_pool_size=2*1024*1024*1024;## 在线调整 innodb_buffer_pool_size.MySQL 5.7 之前的版本, 修改该值, 需要重启.
- ,show variables like 'innodb_buffer_pool_dump_at_shutdown'; ## 在 MySQL 5.6 以后, 可以在停机的时候 dump 出 buffer pool 的数据, 然后在
启动的时候 Load 进 buffer pool. 该功能可以在 MySQL 启动时自动预热, 无需人工干预.
- ,show variables like 'innodb_buffer_pool_dump_pct';##dumpd 百分比, 是每个 buffer pool 文件, 而不是整体.
- ,show variables like 'innodb_buffer_pool_load_at_startup';## 启动时加载 dump 的文件, 恢复到 buffer pool 中. dump 的越多, 启动的越慢.
- , select * from innodb_lock_waits;## 查看锁的信息, 在数据库 sys 下执行.
- ,show variables like 'transaction_isolation'; ## 查看隔离级别
- ,set transaction_isolation='read-committed'; ## 设置隔离级别.
- ,show variables like 'innodb_print_all_deadlocks';## 设置为 ON, 表示将死锁信息打印到 err_log 中.
- ,show variables like "%innodb_flush_log_at_timeout%";##master thread 每秒刷新 redo 的 buffer 到 logfile.5.7 版本可以设置刷新间隔时间,
默认是 1 秒.
43,show variables like 'binlog_format';## 查看 binlog 的类型. statement 记录 SQL 语句; ROW 记录 SQL 语句操作的那些行(行的变化);mixed 混
合 statement 和 Row 格式(不推荐).
MHA 常用命令
- ,masterha_check_ssh --conf=/etc/masterha/app1.conf ## 检查 MHA 集群 SSH 配置.
- , masterha_check_repl --conf=/etc/masterha/app1.conf ## 检查整个集群的复制状况.
- ,masterha_check_status --conf=/etc/masterha/app1.conf ## 检查 MHA Manager 的状态: 如果正常, 会显示 "PING_OK", 否则会显示 "NOT_RUNNING" , 这代表 MHA 监控没有开启.
- ,nohup masterha_manager --conf=/etc/masterha/app1.conf --remove_dead_master_conf --ignore_last_failover </dev/null> /var/log/masterha/app1/manager.log 2>&1 & ### 监控进程通过 nohup 管理, 可以通过 jobs 查看后台进程.
- ,show slave hosts;## 在 master 节点上执行, 查看 Slave 节点数据.
- , CHANGE MASTER TO MASTER_HOST='172.XXX.XXX.XXX',MASTER_USER='replname',MASTER_PASSWORD='pwd',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=154; ##change master 示例
50, 若在 Slave 机器上对数据库进行修改或者删除, 会导致主从的不一致, 需对 Slave 机器设置为 read_only = 1 , 让 Slave 提供只读操作.
注意: read_only 仅仅对没有 SUPER 权限的用户有效(即 MySQL.user 表的 Super_priv 字段为 Y), 一般给 App 的权限是不需要 SUPER 权限的. 参数 super_read_only 可以将有 SUPER 权限的用户也设置为只读, 且该参数设置为 ON 后, read_only 也跟着自动设置为 ON.
51, show variables like "server_uuid";## 查看 UUID. GTID(G lobal T ransaction Id entifier) 全局事物 ID.GTID = Server_UUID +
Transaction_ID 其中 Server_UUID 是全局唯一的, Transaction_ID 是自增的.
52,show variables like "%gtid%";## 查看 gtid 相关数据及配置
53, 从服务器跳过一个错误的事务
步骤 1: 关闭复制
stop slave;
步骤 2 : 设置 gtid_next 为回放失败的 gtid
set session gtid_next='4e659069-3cd8-11e5-9a49-001c4270714e:1'; #在 session 里设置 gtid_next, 即跳过这个 GTID
步骤 3 : 执行一个空的事物, 让回放失败的 gtid 对应到这个空的事物
- begin;
- commit;
步骤 4 : 还原 gtid_next 为 automatic
SET SESSION GTID_NEXT = AUTOMATIC; #把 gtid_next 设置回来
步骤 5: 开启复制
start slave;
54, 通过 GTID 的复制都是没有指定 MASTER_LOG_FILE 和 MASTER_LOG_POS 的, 所以通过 GTID 复制都是从最先开始的事务开始, 除非在自己的 binlog 里面有执行过之前的记录, 才会继续后面的执行. Slave 如何跳过 purge 的部分, 而不是在最先开始的事务执行.
步骤 1: 在主上执行, 查看被 purge 的 GTID
show global variables like 'gtid_purged';
以下步骤在从上执行, 跳过这个 GTID:
步骤 2
stop slave;
步骤 3
reset master;
步骤 4
- start slave;
- 55,show binlog events in 'mysql-bin.000008'; ## 查看指定 binlog 中的内容.
- 56, flush binary logs;# 刷新日志, 并且会产生一个新的日志文件.
- 57,show variables like "binlog_rows_query_log_events";## 设置为 ON, 可以在 ROW 格式下, 看到 SQL 的信息.
- 58,show variables like "binlog_cache_size";##binlog 默认写入到 binlog_cache 中, 系统默认是 32K, 当有一个大的事务时(几百兆), 内存中显然
放不下那么多 binlog, 所以会记录到磁盘上.
59, show global status like 'binlog_cache_disk_use';## 记录了使用临时文件写二进制日志的次数. 注意: 写日志本来就停满的, 如果 cache 写不下,
再写入磁盘, 然后再写 binlog, 就是写入 2 次磁盘, 会更慢. 如果参数 binlog_cache_disk_use 次数很多, 就要看一下 binlog_cache_size 设置是否太小,
或者事务本身是否太大.
60,xtrabackup 只能备份 innodb 存储引擎表(用的较少);innobackupex 可以备份其他存储引擎(含 innodb).innobackupex 在 xtrabackup 的基础上做
了包装, 可以兼容各种存储引擎.
61,mysqldump 重要参数 --all-databases : 备份所有的数据库;--databases DB1 [DB2 DB3] : 备份指定的数据库;--single-transaction : 在一个
事物中导出, 确保产生一致性的备份, 当前只对 innodb 支持;--master-data : 备份的时候 dump 出 CHANGE MASTER 信息(file 和 pos), 可供主从复制
的时候使用, 默认值为 1, 当值设置为 2 的时候, 也会 dump 出信息, 但是会被注释掉 .
62,show variables like '%slave_parallel_workers%';## 从数据库用来还原的并发线程数.
来源: http://www.bubuko.com/infodetail-2862924.html