一次主从复制出错解决与pt-slave-restart工具使用

  



,

开始;提交;
  # #才能设置后,插入一个空事务进行更新GTID。
  ,,
  mysql> set  gtid_next='自动';
  # #才能官方手册规定:精确的指定过一次GTID,并产生一次事务后,后面必须再次指定一次gtid_next的模式(是模式,不是精确值,官方手册这里没有写清楚)
  # #才能“After 却;能够variable  has  been  set 用UUID:号码,以及a  transaction  has  been  committed 或是rolled ,, an  explicit  set  GTID_NEXT  statement  must  again  be  issued  before  any  other 声明。”
  mysql> start 奴隶;

,讲道理,这里就应该正常了,但还是报同样的错误,一次次的这样操作也很麻烦,


, 3 .

,,,

,

,,原理:根据设置,跳过从主库过来的指定错误事务

,,1.支持GTID复制,但是不支持多线程复制,工具分不清到底哪个线程复制出了问题

2。除了主机指定外的实用参数:

,,,,,,,

,,,,,,,——ask-pass,,,:替换- p命令,防止密码输入被身后的开发窥屏

,,,,,,,——错误号:指定跳过哪些错误,可用,进行分隔

,,,,,,,——错误文本,,:根据错误信息进行匹配跳过

,,,,,,,——日志,,,,,:输出到文件

,,,,,,,——递归,,,:在主端执行,监控从端

,,,,,,,——运行时,,,:工具执行多长时间后退出:默认秒,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,m=分钟,h=小时,d=天

,,,,,,,——slave-user slave-password:从库的账号密码,从主端运行时使用

,,,,,,,——skip-count,,:一次跳过错误的个数,胆大的可以设置大些,不指定默认1个

,,,,,,,——master-uuid,:级联复制的时候,指定跳过上级或者上上级事务的错误

,,,,,,,——until-master,:到达指定的master_log_pos,文件位置后停止,

,,,,,,,——until-relay,:和上面一样,但是时根据relay_log的位置来停止

,,

,

,,centos # yum  install  https://www.percona.com/redir/downloads/percona - release/redhat/percona -释放- 0.1 - 4. - noarch.rpm   centos # yum 才能search  percon-tool   centos #才能yum  -y  install  yum  install  percona-toolkit


,,perldoc /usr/bin/pt-slave-restart


,,pt-slave-restart ——用户=root ——密码=123456,——套接字=/数据/mysql/3304/tmp/mysql3304.sock ——错误号=1677


Not  checking  slave  because  relay  log  file 或是position  has  Not  changed  (file  relay-bin.000002  pos  205804892)   2017 - 09 - 30 - t12:55:03  S=/数据/mysql/3304/tmp/mysql3304.sock, p=? u=root  relay-bin.000002 ,, 205805634, 1677,   Not  checking  slave  because  relay  log  file 或是position  has  Not  changed  (file  relay-bin.000002  pos  205805634)   Not  checking  slave  because  relay  log  file 或是position  has  Not  changed  (file  relay-bin.000002  pos  205805634)   Not  checking  slave  because  relay  log  file 或是position  has  Not  changed  (file  relay-bin.000002  pos  205805634)   2017 - 09 - 30 - t12:55:03  S=/数据/mysql/3304/tmp/mysql3304.sock, p=? u=root  relay-bin.000002 ,, 205806382, 1677,   2017 - 09 - 30 - t12:55:04  S=/数据/mysql/3304/tmp/mysql3304.sock, p=? u=root  relay-bin.000002 ,, 205807125, 1677,   2017 - 09 - 30 - t12:55:04  S=/数据/mysql/3304/tmp/mysql3304.sock, p=? u=root  relay-bin.000002 ,, 205807873, 1677,   Not  checking  slave  because  relay  log  file 或是position  has  Not  changed  (file  relay-bin.000002  pos  205807873)   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

一次主从复制出错解决与pt-slave-restart工具使用