MySQL主从不同步,全量数据恢复同步

前言

当mysql主从(一主一从模式)数据不同步,常规方式解决不掉,故全量恢复数据并同步数据。

发现问题

首先可以由 mstaer status 观察到主从已经未同步,其次slave status 看到 slave_sql 的运行状态是no的,而且有 error 产生错误代码1062;网上百度的跳过错误的方式并没有解决该问题,所以决定重做主从,恢复全量数据。

问题解决

备份主库数据:

#mysqldump --socket=/xxx/mysql.sock --single-transaction --master-data=2 -uroot -p'xxxx' -h xx.xx.xx.xx --all-databases > dbdump_20190128.sql

从库恢复数据:
1)先将导出数据文件分发给slave主机
2)从库恢复数据:MySQL [(none)]> source /root/dbdump_20190128.sql

确认master的mysql-bin和pos信息:
#cat dbdump_20190128.sql | grep MASTER_LOG_FILE | grep mysql-bin.000

主从同步:

1)停止slave

MySQL [none]>  stop slave;

2)同步数据

MySQL [none]>  change master to master_host='xx.xx.xx.xx',master_user='root',master_password='xxxx',master_port=3306,master_log_file='mysql-bin.000163',master_log_pos=697435740,master_connect_retry=30;

3)启动slave

MySQL [none]> start  slave; 

同步检测:

1)查看从库状态

2)在主库新建库或表,观察从库是否同步

 备注说明

mysqldump参数说明:

    mysqldump:mysql导出工具

    --socket、-u、-p、-h:指定mysql的sock文件、用户名、密码、主机地址

    --single-transaction:保证一个事务中所有相同的查询读取到同样的数据,其他innodb引擎的线程修改了表的数据并提交,对该dump线程的数据并无影响,不会锁表

    --master-data=2:对于生成的sql文件产生备份时刻的mysql-bion的信息和pos信息

    --all-databases:备份全库 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hekliu

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值