查看mySQL延迟的方法:
查看Seconds_Behind_Master
1.在从服务器mysql上执行
show slave stats\G;
1. 0:表示主从复制良好
NULL 表示io_thread或sql_thread有一个发生故障,就是说该线程的Running状态时No,而非Yes
正值 表示主从已出现延时,数字越大表示从库落后主库越多
详细可以参考
http://f.dataguru.cn/thread-461916-1-1.html
http://ningg.top/inside-mysql-master-slave-delay/
mysql主从原理
-
Master
上 1 个IO线程
,负责向Slave传输binary log
(binlog
) Slave
上 2 个线程:IO 线程
和执行SQL的线程
,其中:
-
IO线程
:将获取的日志信息,追加到relay log上; -
执行SQL的线程
:检测到relay log中内容有更新,则在Slave上执行sql;
mysql常见错误:
1.主从无法同步
解决方法:show slave status\G;
查看状态下面2个值是否为yes
Slave_IO_Running
Slave_IO_Running
查看下面2个值得为之是否与master服务器一致
Master_Log_File
Master_Log_File
如果:Slave_SQL_Running 值为 NO,或 Seconds_Bebind_Master 值为 Null
1. 程序有可能在 slave 上进行了写操作
2. 也有可能是 slave 机器重启后,事务回滚造成的
解决方法一:
msyql> stop slave;
msyql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
msyql> start slave;
解决方法二:
stop slave --停止同步
到master机器:show master status\G; 查看偏移量
到slave服务器重新做手动同步;
master_host='192.168.142.128',master_user='repl',master_password='repl',master_log_file='AAA.000001',master_log_pos=120;
SLAVE在宕机,或者非法关机,例如电源故障、主板烧了等,造成中继日志损坏,同步停掉。
【错误日志】
从库日志:SHOW SLAVE STATUS \G;
Slave_IO_Running: Yes
Slave_SQL_Running: No
Last_Errno: 1593
Last_Error: Error initializing relay log position: I/Oerror reading event at position 4
【解决方案】
在主库上找到同步的binlog和POS点,然后重新做同步,这样就可以有新的中继日志了。
mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000010',MASTER_LOG_POS=821;
详细可以参考:http://www.10tiao.com/html/706/201603/403220961/1.html
参考
不停库不锁表在线主从配置 http://seanlook.com/2015/12/14/mysql-replicas/
mysql主从常见问题 http://www.10tiao.com/html/706/201603/403220961/1.html
mysql主从延迟 http://f.dataguru.cn/thread-461916-1-1.html
深入探究主从延迟 http://ningg.top/inside-mysql-master-slave-delay/
mysql主从不同步如何做 http://www.jb51.net/article/33052.htm
mysql 主主
mysql-proxy 实现读写分离
mycat实现读写分离 http://www.th7.cn/db/mysql/201708/250280.shtml
atlas相关
mysql一主多从 http://blog.sina.com.cn/s/blog_4c197d4201017qjs.html
mysql环形主从 http://ask.apelearn.com/question/11437
cobar实现分库分表
mysql分库分表方案
mysql架构演变 http://www.aminglinux.com/bbs/thread-8025-1-1.html
MHA架构 http://www.dataguru.cn/thread-457284-1-1.html
比较复杂的mysql集群架构 http://ask.apelearn.com/question/17026