mysql主从错误断开 怎样恢复

mysql主从错误断开 怎样恢复,第1张

mysql主从同步常见异常及恢复方法

1. 一般的异常只需要跳过一步即可恢复

>slave stop

>SET GLOBAL sql_slave_skip_counter = 1

>slave start

2.断电导致主从不能同步时,通主库的最后一个bin-log日志进行恢复

在主库服务器上,mysqlbinlog mysql-bin.xxxx >binxxxx.txt

tail -n 100000 binxxxx.txt >tail-binxxxx.txt

vim tail-binxxxx.txt 打开tail-binxxxx.txt文件找到最后一个postion值

然后在从库上,change host to 相应正确的值

>slave stop

>change master to master_host='ip', master_user='username', master_password='password', master_log_file='mysql-bin.xxxx', master_log_pos=xxxx

>slave start

>show slave status\G

3.主键冲突、表已存在等错误代码如1062,1032,1060等,可以在mysql主配置文件指定

略过此类异常并继续下条sql同步,这样也可以避免很多主从同步的异常中断

[mysqld]

slave-skip-errors = 1062,1032,1060

主库的主机关机时,数据只能读不能写,并且从库的主机关机后,数据仍然可读可写,这个不好弄,如果你对lua脚本有所了解,修改mysql-proxy 的读写分离脚本或许可以实现。

不过主库关机时不能访问,并且从库关机仍可读可写,这个不需要配读写分离,这本来就是主从复制的基本能力,从库只是备用的而已。从库关闭后再开启,slave IO线程会自动从中断处二进制日志的位置开始复制主机的二进制日志,slave SQL线程会读取并执行这些二进制日志中的SQL。

总之,不需要特别的配置,这是主从复制的基本能力。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8717715.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存