一、Mysql主从复制常见故障

1、无法同步问题;

首先查看是否搭建成功主从,如果没有搭建成功,则重新搭建。如果成功,则查看从库报错提示,依据错误提示来排除故障。

2、常见的有:

1)主库没有使用sql语句进行删除或者复制操作,则在从库上也参照主库的语句进行同样的操作,与主库保持一致。

2)主库上删除,从库上找不到报错,可忽略

3)主库上有,从库上没有,手动在从库创建。

4)表太大超出MyISAM数据表大小限制报错,调整max_rows

5)时区不一致,修改时区为一致

6)max_allowed_packet太小,修改max_allowed_packet的大小,保持主从大小一致

7)临时表太大导致磁盘写满,查看目录是否可写,空间是否足够,如果不够,修改socket到大的目录。

8)主从不同步,如果数据要求不严格,主从库数据相差不大,可忽略改错,停止slave,set global sql_slave_skip_counter =1;重启slave,跳过该错。

具体处理方式可查看该链接:http://www.10tiao.com/html/706/201603/403220961/1.html

二、查看mysql主从复制延迟或中断及延迟的原因和优化方式

1、通过 Seconds_Behind_Master 的值来判断延迟时间值 NULL表示有故障,0表示良好,数值越大说明延迟越严重。

2、使用pt-heartbeat工具来监控整个同步过程,要保证主从时间同步,需要在主库创建表,在从库上监控延迟输出日志,也可以写成脚本监控。

3、主从集群的作用:分散访问压力,提升整个系统的可用性,降低大访问量引发的故障率,Master 宕机后,数据不丢失,可以使用 Slave 临时替换 Master

4、常见的架构:

一主一从:一个 Master,一个 Slave

一主多从:一个 Master,多个 Slave

5、主从延迟的原因:事物比较大,耗时长,SQL 执行速度慢,批量 DML 操作,Master 上多线程工作等。

6、解决办法:拆分事物,化大为小,优化SQL索引语句,尽量在业务低峰期进行批量操作,优化业务。

具体处理方式可查看该链接:http://f.dataguru.cn/thread-461916-1-1.html     http://ningg.top/inside-mysql-master-slave-delay/    http://www.jb51.net/article/33052.htm

三、mysql主主

1、A、B两台机器都能够读写,互为主从,默认使用一台,两台机器之间做高可用,使用keepalived等方案(使用VIP对外提供服务),在做高可用的时候设置为非抢占模式。

2、在做/etc/my.cnf配置文件时需要注意:A、B保持一致 

log-bin = mysql-bin            主库这一项必须要打开
log-slave-updates = true       一台服务器既做主库又做从库此选项必须要开启

3、配置A、B机器主从时要给与同样的权限,互相配置各自的IP和show master status得到的信息,即A 配置B的IP和show master status得到的信息,B配置A的IP和show master status得到的信息,

4、在A、B机器上停止slave的状态下分别执行change master to MASTER_AUTO_POSITION=1;然后在开启start slave。

 5、可能会遇到的问题:

Last_IO_Errno: 1236

Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not open log file'

有可能是在my.cnf设置了只读模式,去掉relay-log =mysql-bin。

log-bin = mysql-bin

relay-log = mysql-bin

 具体处理方式可查看该链接:http://www.cnblogs.com/ygqygq2/p/6045279.html

posted on 2018-04-03 22:28  天梭  阅读(108)  评论(0编辑  收藏  举报