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

阳光穿透心脏的1/2处 2023-07-15 09:24 94阅读 0赞

前言

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

发现问题

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

20200316152555283.png

20200316152609539.png

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdTU5NDEy_size_16_color_FFFFFF_t_70

问题解决

备份主库数据:

#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.00020200316152659728.png

主从同步:

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)在主库新建库或表,观察从库是否同步

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xpdTU5NDEy_size_16_color_FFFFFF_t_70 1

备注说明

mysqldump参数说明:

  1. mysqldumpmysql导出工具
  2. --socket、-u、-p、-h:指定mysqlsock文件、用户名、密码、主机地址
  3. --single-transaction:保证一个事务中所有相同的查询读取到同样的数据,其他innodb引擎的线程修改了表的数据并提交,对该dump线程的数据并无影响,不会锁表
  4. --master-data=2:对于生成的sql文件产生备份时刻的mysql-bion的信息和pos信息
  5. --all-databases:备份全库

发表评论

表情:
评论列表 (有 0 条评论,94人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Mysql主从同步

    一、功能作用 1.做数据热备:如果主数据库宕机,可以切换到从数据库上。也可以用从数据库做备份、统计,不影响主数据库的性能。 2.架构的扩展:业务量越来越大,I/O访问频

    相关 MYSQL主从同步

    MYSQL主从同步架构是眼下使用最多的数据库架构之中的一个。MySam引擎负责新增改动删除操作。InnoDB引擎负责查询,所谓的读写分离。尤其是负载比較大的站点。因此对于主从同

    相关 otter同步

    原理:使用canel读取了源库的retl\_buffer操作binlog来进行实现的,所以在使用此功能时,channel必须处于工作状态。 步骤一:在otter配置otte