先上Master库:使用show processlist;
命令查看下进程是否Sleep太多。
文章图片
使用show master status;
命令查看当前状态。
文章图片
使用show slave status;
命令查看某个slave当前状态
文章图片
从上面看到Slave_SQL_Runnnig状态为No,说明当前Slave未同步
文章图片
该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况
①使用stop slave;
命令停止同步②使用set globalsql_slave_skip_counter =1;
命令跳过一步错误,后面的数字可变
文章图片
使用start slave;
命令开启同步
文章图片
使用show slave status\G 命令查看当前状态
文章图片
如果显示Slave_IO_Running: Yes,Slave_SQL_Running: Yes,说明主从开始正常同步
主键冲突、表已存在等错误代码如1062,1032,1060等,可以在mysql主配置文件指定略过此类异常并继续下条sql同步,这样也可以避免很多主从同步的异常中断
使用slave-skip-errors= 1062,1032,1060命令忽略指定错误
使用servicemysqld restart命令重新启动mysql服务
使用用mysql>show slave status\G 查看当前状态:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
该方法适用于主从库数据相差较大,或者要求数据完全统一的情况
解决步骤如下:
1.先进入主库,使用命令flush tables with read lock;
进行锁表,防止数据写入
注意:该处是锁定为只读状态,语句不区分大小写
2.进行数据备份
使用mysqldump-uroot -p -hlocalhost > mysql.bak.sql把数据备份到mysql.bak.sql文件
这里注意一点:数据库备份一定要定期进行,可以用shell脚本或者python脚本,都比较方便,确保数据万无一失
3.查看master 状态
mysql> show master status;
4. 使用scp mysql.bak.sql root@192.168.128.101:/tmp/命令把mysql备份文件传到从库机器进行数据恢复
5.使用stop slave;
命令停止从库的状态
6.然后到从库执行mysql命令,导入数据备份mysql> source /tmp/mysql.bak.sql
7.设置从库同步,注意该处的同步点,就是主库show master status信息里的| File| Position两项
change master to master_host = '192.168.128.100', master_user ='rsync', master_port=3306, master_password='', master_log_file ='mysqld-bin.', master_log_pos=3260;
8.重新开启从同步
mysql> stop slave;
9.查看同步状态
【mysql|mysql 主从同步不一致_MYSQL主从复制数据不一致解决方案】mysql> show slave status\G 查看:
推荐阅读
- MyBatis-Plus|Springboot(使用IDEA自动生成java实体类Mysql逆向工程效率神器使用讲解)
- 关于Spring|MySQL 主从复制数据不一致,怎么办()
- java后端|spring boot使用druid多数据源配置
- 测试|jmeter系列(关联数据库)
- SQL|MySQL之增删改查,常用函数
- MyBatisPlus|MyBatis-Plus工具
- MySQL|MySQL表的增删改查(进阶)
- SQL|python操作mysql插入数据
- mysql|mysql管理性能状态查看命令