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;
当一个节点成为主时,第一步完成自己的回放,即将之前从主拿到的数据回放完成,然后成为主,如果回放失败,则无法成为主;

相关推荐

  1. MySQL总结

    2024-05-13 12:08:09       15 阅读
  2. SSH常见总结

    2024-05-13 12:08:09       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-13 12:08:09       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-13 12:08:09       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-13 12:08:09       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-13 12:08:09       20 阅读

热门阅读

  1. LeetCode 2391. 收集垃圾的最少总时间

    2024-05-13 12:08:09       11 阅读
  2. MySQL Undo Log、Redo Log、bin Log

    2024-05-13 12:08:09       8 阅读
  3. 哲学家就餐问题

    2024-05-13 12:08:09       12 阅读
  4. OpenCV图像转换处理

    2024-05-13 12:08:09       13 阅读
  5. C++贪心算法

    2024-05-13 12:08:09       10 阅读
  6. vty、带内/带外管理、带内/带外ip简介

    2024-05-13 12:08:09       15 阅读
  7. 未来城市更新要干哪些事?

    2024-05-13 12:08:09       10 阅读
  8. 前端开发如何切换node版本安装依赖

    2024-05-13 12:08:09       10 阅读
  9. 常见的推荐系统框架

    2024-05-13 12:08:09       12 阅读