MySQL运维总结

以下是个人工作中用到的mysql运维总结。

基本运维命令

看下死锁的语句:show engine innodb status \G; 
修改最大连接数:set global max_connections=1400;
使用profile查询sql执行耗时:
1、set profiling = 1 ; 启用profile , session级别的配置
2、执行查询
3、show profiles ; 查看每一个查询所消耗的总时间信息
    show profiles for query N : 查询每个阶段所消耗的时间 (N为 Query_ID)
    当然了还有 查询CPU等信息 的命令:比如 show profile cpu for query 1
数据库只读命令
--super-read-only 
unlock tables;
set global read_only=0;
show global variables like %read%;
查看用户权限:show grants for test;
select * from mysql.user where user='test'\G;
打开慢日志
slow_query_log=1
slow_query_log_file = /data/mysql/mysql-slow.log
log_timestamps=system
long_query_time=3
导出数据库
mysqldump --all-databases --single-transaction --triggers --routines --events --skip_add_locks  --host=192.18.11.1 --port=3306 --user=user -ppwd --ignore-table=mysql.user --ignore-table=mysql.db --ignore-table=mysql.tables_priv --set-gtid-purged=OFF > dump.sql
binlog转换为文本文档
mysqlbinlog /data/mysql/mysql-bin.000002 > /tmp/2.log

半同步相关:

show variables like 'rpl_semi_sync%'
show status like 'rpl_semi_sync%'
提交过程:
commit- 【Mysql SQL Parse -> Storage Involve -> Write Binary Log -> Storage commit -> wait slave dump -> return to Client】 commit OK
5.7 支持loss-less半同步机制,“waiting slave dump”被调整到“Storage Commit”之前;
rpl_semi_sync_master_wait_point           | AFTER_SYNC 新同步机制,旧的为AFTER_COMMIT
rpl_semi_sync_master_enabled              | ON
rpl_semi_sync_slave_enabled               | ON
rpl_semi_sync_master_timeout              | 10000(ms)
rpl_semi_sync_master_wait_for_slave_count | 1   //
rpl_semi_sync_master_wait_no_slave        | ON
半同步并非严格半同步,当复制超时时(rpl_semi_sync_master_timeout   | 10000(ms),即10s),会暂时关闭半同步复制,转为异步复制;当master dump线程发送完一个事物的所有事件后,如果在rpl_semi_sync_master_timeout 内收到了从库响应,则恢复为半同步复制;验证方法:在配置了半同步的集群master上,关闭server2 io端口,创建表时,master会延迟master_timeout;
rpl_semi_sync_master_wait_no_slave        
默认值 ON,当Rpl_semi_sync_master_clients小于rpl_semi_sync_master_wait_for_slave_count时,Rpl_semi_sync_master_status依旧为ON; OFF 当Rpl_semi_sync_master_clients小于rpl_semi_sync_master_wait_for_slave_count时,Rpl_semi_sync_master_status为 OFF ,退化为异步复制。如1主两从,两从都是半同步复制,rpl_semi_sync_master_wait_for_slave_count=2,若挂掉一个从,当其值为ON时,此时仍然为半同步复制;若其值为OFF则会立刻变为异步复制。当其为 ON 时,若同步仍然超时,那么依旧会变为异步复制;

MySQL 组复制(MGR, MySQL Group Replication)

1、每张表一定要有一个主键,用于做write set冲突检测;
2、必须打开gtid特性,二进制格式必须为row
3、一个mgr集群,最多9节点
Plus相关
leader切换流程:
每个follower会重放: leader-uuid: 1-n ,即从1开始重放leader的事物,当重放事物和本地已有事物冲突时(如插入主键相同的数据),重放失败,SQL_RUNNING变为 false;
当一个节点成为主时,第一步完成自己的回放,即将之前从主拿到的数据回放完成,然后成为主,如果回放失败,则无法成为主;
  • 22
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值