MySQL主从说明详解MySQL主从不同步处理方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL主从说明详解MySQL主从不同步处理方案相关的知识,希望对你有一定的参考价值。

mysql主从说明

同步问题

mysqldump:此工具适用于10G以下数据库或几个表
percona-Xtrabackup备份工具:适用于100G-500G
LVM快照:更大的数据量,或分库分表

主从复制目的

  1. 读写分离,减轻主库负载或数据分析;
  2. 数据安全,做备份恢复;
  3. 主从切换,做高可用;

常见主从结构:

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

Master节点:负责所有的【写】请求
Slave节点:负责大部分的【读】请求

主从复制步骤

技术分享图片

  1. A数据更新
  2. A写入Bin Log
  3. A的io线程与B的io线程传输通信
  4. B将传输的信息写入Relay Log
  5. B检查到Relay Log有新内容后执行SQL语句
  6. B更新数据

MySQL主从数据不同步处理

检查

master库(也就是主服务库)

mysql>show processlist;            //查看进程是否sleep太多
mysql>show master status;        //查看主服务器的master数据状态

Slave库(从库)

mysql>show slave status\G            //查看slave的同步状况,主要是IO与SQL
Slave_IO_Running: Yes
Slave_SQL_Running: No
这两个必须是yes状态,由此可见slave不同步状态

处理方案

方法一:忽略错误,继续同步

适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况;

Slave库修复
mysql>stop slave;                                                                //停止同步
mysql>set global sql_slave_skip_counter =1;                        //跳过一步错误
mysql>start slave;                                                                //开启同步

方法二:重做主从,完全同步

适用于主从库数据相差较大,或者要求数据完全统一的情况;

master库设置

mysql>flush tables with read lock;                //锁定为只读,防止数据写入
mysqldump -uroot -p‘123456‘ mysql > /tmp/mysql.bak.sql        //备份数据到目录
mysql> show master status;                    //查看master的状态,写同步配置会用到相关数据
scp /tmp/mysql.bak.sql [email protected]:/tmp/        //将mysql的备份文件传到从库机器
Slave库设置

mysql>stop slave;                //停止同步
mysql>source /tmp/mysql.bak.sql        //使用备份就行恢复数据,也可以使用mysqldump命令
change master to master_host = ‘192.168.128.100‘, master_user = ‘rsync‘, master_port=3306, master_password=‘‘, master_log_file = ‘mysqld-bin.000001‘, master_log_pos=3260;         //设置从库同步,其中log_file与log_pos的参数来自于主服务的show master status里
mysql>start slave;                    //开启从同步
mysql>show slave status\G                //查看同步状态

以上是关于MySQL主从说明详解MySQL主从不同步处理方案的主要内容,如果未能解决你的问题,请参考以下文章

MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)

MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)

010.Redis 主从架构搭建及原理详解

MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解

mysql主从同步不一致解决方案

详解MySQL数据库设置主从同步的方法