常见的mysql优化策略(MySQL pt-slave-restart工具的使用简介)
常见的mysql优化策略
MySQL pt-slave-restart工具的使用简介在MySQL主从复制环境的搭建中,常常会遇到一种场景,主库和从库都要初始化用户的账号密码,正常的情况下,需要在主库和从库都关闭session级别的binlog,然后再进行用户信息导入。
但是有时候会忽略关闭session级别binlog这个前置动作,例如在基于GTID的复制模式下,主从库都直接导入了用户的账号密码信息,主库和从库都将账号密码的事务记录到了自己的GTID中,此时我们如果利用GTID的方式搭建复制,会出现报错,因为从库已经有账号了,所以主库上同步到从库的用户信息会出现报错现象,提示用户已经存在,这种情况下,我们需要在从库跳过从主库复制过来的创建用户的SQL语句。
在GTID模式下,通过下面的办法可以跳过一个事务:
|
stop slave; set gtid_next=xxxxx; begin ; commit ; set gtid_next=automatic; start slave; |
但是在事务数很多的情况下,我们不能一个一个跳过,需要批量跳过同一个错误,这里有几种方式可以进行处理;
MySQL复制问题的三个参数介绍
分别是调整slave_skip_errors参数或者slave_exec_mode 参数
今天我们来看另外一种方法,就是利用pt-slave-restart工具来进行事务跳过,命令如下:
|
./pt-slave-restart -uroot -proot123 --error-numbers=1062 |
命令很容易理解,写清楚错误编码,直接跳过就行,它会打印出来很多信息,默认情况下打印内容为:时间戳、连接信息、中继日志文件、中继日志位置以及上一个错误号。例如:
2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005 369 1032
2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005 726 1032
2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005 1085 1032
2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005 1444 1032
2020-09-22T00:59:09 P=3306,h=192.168.7.194,p=...,u=root relay-bin.000005 1800 1032
你可以使用--verbose选项添加更多信息,也可以使用--quiet选项阻止所有输出。
注意事项:
当采用多线程复制(slave_parallel_workers > 0)时,pt-slave-restart不能跳过事务。pt-slave-restart不能确定GTID事件是哪个特定slave线程执行失败的事务。
如果需要使用,请暂时关闭多线程复制的workers
关于pt-slave-restart的其他参数,可以使用pt-slave-restart --help的命令查看,也可以参考下面的常见参数列表:
|
--always :永不停止slave线程,手工停止也不行 --ask-pass :替换-p命令,防止密码输入被身后的开发窥屏 --error-numbers :指定跳过哪些错误,可用,进行分隔 --error-text :根据错误信息进行匹配跳过 --log :输出到文件 --recurse :在主端执行,监控从端 --runtime :工具执行多长时间后退出:默认秒,m=minute,h=hours,d=days --slave-user --slave-password :从库的账号密码,从主端运行时使用 --skip-count :一次跳过错误的个数,胆大的可以设置大些,不指定默认1个 --master-uuid :级联复制的时候,指定跳过上级或者上上级事务的错误 --until-master :到达指定的master_log_pos,file位置后停止,格式:”file:pos“ --until-relay :和上面一样,但是根据relay_log的位置来停止 |
以上就是MySQL pt-slave-restart工具的使用简介的详细内容,更多关于MySQL pt-slave-restart工具的使用的资料请关注开心学习网其它相关文章!
原文链接:https://mp.weixin.qq.com/s/QD9M2rp5XtbhGoMTa-KBNA
- 怎么运行xampp中的mysql(本地安装了mysql导致xampp的mysql服务启动失败)
- 2021-10-18 11:58:15
- mysql如何定义外键(MySQL外键设置的方法实例)
- navicatformysql怎么激活(一文读懂navicat for mysql基础知识)
- navicat连接mysql报1045(解决Navicat for MySQL 连接 MySQL 报2005错误的问题)
- innodb和myisam(Mysql InnoDB和MyISAM区别原理解析)
- mysql如何修改列的默认值(mysql查询的时候给字段赋默认值操作)
- ubuntu下mysql安装教程(Ubuntu 20.04 安装和配置MySql5.7的详细教程)
- mysql缓冲池(详解MySQL中的缓冲池buffer pool)
- python对mysql数据分析(python使用adbapi实现MySQL数据库的异步存储)
- mysql参数说明(MySQL中你可能忽略的COLLATION实例详解)
- mysql有什么索引(MySQL 普通索引和唯一索引的区别详解)
- mysqlexplain各个字段作用(MySQL EXPLAIN语句的使用示例)
- mysql查询语法总结(MySQL全面瓦解之查询的过滤条件详解)
- 最全面的mysql索引详解(MySQL 全文索引使用指南)
- mysql更新数据库表中的数据语法(Mysql联表update数据的示例详解)
- 硕博期刊 SCI SSCI CSSCI分不清 一文带你看懂主流期刊分类(硕博期刊SCISSCI)
- 辱华品牌新百伦官宣新代言人IU,个别粉丝希望get爱豆同款(辱华品牌新百伦官宣新代言人IU)
- 巅峰时期被爆床照,曾被选国民最讨厌女星,IU不为人知的黑历史(巅峰时期被爆床照)
- 每天1万吨牛奶倒进下水道,美国大萧条一幕重现(每天1万吨牛奶倒进下水道)
- 如何看待美国数十万加仑牛奶倒下水道 历史又重演了(如何看待美国数十万加仑牛奶倒下水道)
- 历史惊人的相似,美国80万加仑牛奶倒入下水道,意味着什么(历史惊人的相似)
热门推荐
- python元组和列表的定义(Python基本数据结构与用法详解列表、元组、集合、字典)
- pandas导入及数据结构用法(pandas数据集的端到端处理)
- vue移动端返回在指定位置(vue移动端判断手指在屏幕滑动方向)
- php中变量定义规则(PHP中__set实例用法和基础讲解)
- CSS filter:hue-rotate色调旋转滤镜实现按钮批量生产(CSS filter:hue-rotate色调旋转滤镜实现按钮批量生产)
- iis7如何使用(IIS7的应用程序池详细解析)
- SQL Server中SQL语句或者存储过程的最大长度
- pythonpandas提取列索引(Python3.5 Pandas模块缺失值处理和层次索引实例详解)
- thinkphp分页效果怎样(thinkphp5+layui实现的分页样式示例)
- phpredis消息队列(PHP+redis实现微博的推模型案例分析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9