Mysql主从同步集群在生成环境使用过程中,如果主从服务器之间网络通信条件差或者数据库数据量非常大,容易导致MYSQL主从同步延迟。

MYSQL主从产生延迟之后,一旦主库宕机,会导致部分数据没有及时同步至丛库,重新启动主库,会导致丛库与主库同步错误,如何快速恢复主从同步关系呢,如下有两种方法:

1、忽略错误后,继续同步(只有一次错误)

此种方法适用于主从库数据内容相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况。

Master端执行如下命令,将数据库设置全局读锁,不允许写入新数据:

flush  tables  with  read  lock;

Slave端停止Slave I/O及sql线程,同时将同步错误的SQL跳过1次,跳过会导致数据不一致,最后启动start  slave,同步状态恢复,命令如下:

stop slave;
set global sql_slave_skip_counter =;
start slave;

2、重新做主从同步,完全同步:(主从数据差别大)

此种方法适用于主从库数据内容相差很大,或者要求数据完全统一的情况,数据需完全保持一致。

1)在master进行锁表

flush  tables  with  read  lock;
注意:该处是锁定为只读状态,语句不区分大小写

2)进行数据备份

mysqldump -uroot -p -hlocalhost  --all-databases > mysql.sql (--all-databases表示所有数据库)
这里注意一点:数据库备份一定要定期进行,可以用shell脚本或者python脚本,都比较方便,确保数据万无一失

3)查看master 状态:

show master status;

4)把mysql备份文件传到从库机器,进行数据恢复:

scp mysql.sql root@10.6.97.134:/tmp/

5)停止从库的状态,导入数据备份

mysql> stop slave;
mysql> source /tmp/mysql.sql;

6)设置从库同步,并开启slave;

change master to master_host = '10.6.97.133', master_user =  'tongbu',master_password='', master_log_file = 'mysql-bin.000003',  master_log_pos= ;
start slave;
show slave status\G;

7)在master上解锁:

  unlock tables;

最新文章

  1. [LeetCode] Bulls and Cows 公母牛游戏
  2. 用Spire.doc来合并邮件
  3. [转]响应式网页设计:rem、em设置网页字体大小自适应
  4. 28. 字符串的全排列之第2篇[string permutation with repeating chars]
  5. Ios(ipad iphone) 支持字体一览
  6. 测试post
  7. android WebView交互优化
  8. Ehcache(09)——缓存Web页面
  9. ie6 7 8 9 firefox的css兼容问题
  10. objective-c 在线视频 学习资料...
  11. HDU 3065 AC自动机 裸题
  12. 那些年被我坑过的Python——摩拳擦掌(第三章)
  13. Application路径
  14. 关于jQuery表单校验的应用
  15. sql server停止和重启命令
  16. java连接mysql以及增删改查操作
  17. iOS8 UILocalNotification 增加启动授权
  18. js day03
  19. Installing TensorFlow on Ubuntu or Windows
  20. 长文本溢出显示省略号(…) text-overflow: ellipsis

热门文章

  1. Kettle学习系列之Kettle能做什么?(三)
  2. chrome的全局搜索快捷键
  3. css让背景颜色与背景图片同时显示
  4. sql中对日期的筛选
  5. Python学习---Day96
  6. Spark脚本调用
  7. 常用的字符串方法 String ;
  8. POJ-2318 TOYS 计算几何 判断点在线段的位置
  9. [洛谷P1352][codevs1380]没有上司的舞会
  10. STM32是如何进入中断服务函数xxx_IRQHandler的