今天发现新插入的一条数据,读取的时候无此数据,因为我这里做了读写分离,所以怀疑是从库的问题。

不知什么原因导致Mysql的主从数据库没有同步。

先上Master库:

mysql>show processlist;   查看下进程是否Sleep太多。发现很正常。show master status; 也正常。

在从数据库执行

show slave status \G可以看到Slave_IO_Running:  No

问题分析:以上现象一方面原因是因为网络通信的问题也有可能是日志读取错误的问题。

1.日志出错问题提示:Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log file name in binary log index file'2. 重复插入数据错误提示:Last_Error: Error 'Duplicate entry '11149' for key 'PRIMARY'' on query. Default database: 'test'. Query: 'INSERT INTO

解决办法:忽略错误后,继续同步。该方法适用于主从库数据相差不大,或者要求数据可以不完全统一的情况,数据要求不严格的情况。

从机器停止slavemysql> stop slave;

到master机器登陆mysql:

记录master的bin的位置,例如:mysql> show mster status;

mysql> show master status;+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB
|+------------------+----------+--------------+------------------+
| mysql-bin.004661 |  3175267 |              |
|+------------------+----------+--------------+------------------+1 row in set (0.00 sec)

日志为mysql-bin.004661

刷新日志:mysql> flush logs;

因为刷新日志file的位置会+1,即File变成为:mysql-bin.004662

马上到slave执行

mysql> CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.004662',MASTER_LOG_POS=3175267;mysql>start slave;

启动之后查看状态恢复

mysql> show slave status\G;

解决办法2

stop slave;

#表示跳过一步错误,后面的数字可变

set global sql_slave_skip_counter =1;start slave;

之后再用mysql> show slave status\G  查看:

Slave_IO_Running: YesSlave_SQL_Running: Yes

ok,现在主从同步状态正常了。。。

解决办法3

重新做主从,完全同步,该方法适用于主从库数据相差较大,或者要求数据完全统一的情况.

1.先进入主库,进行锁表,防止数据写入

使用命令:

mysql> flush tables with read lock;

注意:该处是锁定为只读状态,语句不区分大小写

2.进行数据备份

#把数据备份到mysql.bak.sql文件

#mysqldump -u root -p --all-databases  --lock-tables=false  -- > /tmp/all.sql

这里注意一点:数据库备份一定要定期进行,可以用shell脚本或者脚本,都比较方便,确保数据万无一失

3.查看master 状态

mysql> show master status;

4.把mysql备份文件传到从库机器,进行数据恢复

#使用scp命令

[root@server01 tmp]# scp all.sql root@192.168.0.101:/tmp/

5.停止从库的状态

mysql> stop slave;

6.然后到从库执行mysql命令,导入数据备份

mysql> source /tmp/all.sql

7.设置从库同步,注意该处的同步点,就是主库show master status信息里的| File| Position两项

change master to master_host = '192.168.0.100', master_user = 'rsync', master_port=3306, master_password='123456', master_log_file = 'mysql-bin.004661', master_log_pos=3175267;

8.重新开启从同步

mysql> start slave;

9.查看同步状态

mysql> show slave status\G  查看:Slave_IO_Running: YesSlave_SQL_Running: Yes

好了,同步完成啦。

转载于:https://blog.51cto.com/imork/1884972

mysql主从状态异常解决办法相关推荐

  1. Mysql主从(主从不同步解决办法,常见问题及解决办法)

    一.主从不同步解决办法 先上Master库:  mysql>show processlist; 查看下进程是否Sleep太多.发现很正常.  show master status; 也正常.  ...

  2. mysql出现1499错误_连接MySQL时出现1449与1045异常解决办法

    连接MySQL时出现1449与1045异常解决办法 mysql 1449 : The user specified as a definer ('root'@'%') does not exist 解 ...

  3. com.mysql.jdbc.PacketTooBigException: Packet for query is too large 异常解决办法

    com.mysql.jdbc.PacketTooBigException: Packet for query is too large 异常解决办法: 原因: 查询出的数据包过大,默认情况下mysql ...

  4. zabbix--监控MySQL主从状态

    zabbix监控mysql主从状态 转自:http://www.10qianwan.com/articledetail/430579.html 搭建mysql主从后,很多时候不知道从的状态是否ok,有 ...

  5. 如何监测mysql主从复制状态_如何实时检测mysql主从状态,并做邮件告警?

    实时检测mysql主从状态,并做邮件告警 需求分析: 当我们做完主从后,主从成功的话,Slave_IO_Running和Slave_SQL_Running两个进程的状态就为yes,但是在做主从同步时也 ...

  6. 微信支付服务器错误,【支付问题】微信支付宝支付超时、支付异常解决办法

    微信支付宝支付异常解决办法 只要用户在手机上支付成功,钱一定会到商户的账户上. 只要用户在手机上支付成功,钱一定会到商户的账户上. 只要用户在手机上支付成功,钱一定会到商户的账户上. 正常情况下,用户 ...

  7. Mysql死锁排查及解决办法

    Mysql死锁排查及解决办法 1. 查看当前被锁的表 show OPEN TABLES where In_use > 0; +----------+-------+--------+------ ...

  8. jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry for key PRIMARY异常解决办法

    Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry ' ...

  9. iis 无法连接mysql_远程无法连接SQL2000及MySQL的原因和解决办法

    远程无法连接SQL2000及MySQL的原因和解决办法 时间:2019-11-10 11:06 1. 没有在数据库管理面板中设置远程连接IP造成的. 说明:为了提高操作系统的安全性,所有使用了星外安全 ...

最新文章

  1. Spring3, Hibernate3.6与Proxool连接池配置
  2. 各种不同几何形状布局布阵下的GDOP相对值图
  3. docker network基础
  4. 老衣的微服务实践简要指引2017版
  5. 图片圆角边框自适应宽高(深夜原创)
  6. .NET Core版本揭秘
  7. oracle plsql创建表空间,Oracle在PLSQL Developer上创建表空间和用户脚本 - 龙卷风的日志 - 网易博客...
  8. opencv 仿射变换与透视变换详解
  9. ubuntu14.04 64bit安装android的NDK开发环境
  10. linux监控文件是否传输,利用SecureCRT在linux与Windows之间传输文件
  11. linux下飞信安装详细过程
  12. Importing the numpy C-extensions failed.
  13. 打印机后台服务器修复,修复win10出现“本地打印后台处理程序服务没有运行”的方法...
  14. JAVA 导出Excel 带有多个公式函数
  15. 手把手教你玩转 Excel 数据透视表
  16. Java中HashMap常见问题 -- 扩容、树化、死链问题
  17. 基于FPGA的DDS信号发生器(vivado版本)
  18. iPhone 6 Plus的逻辑分辨率为什么是414x736?
  19. 前端H5使用canvas画爱心以及笑脸
  20. Pytorch:stride步长

热门文章

  1. 关于日常使用的命令解读:ifconfig
  2. tnsping通oracle连不上,写正确了tnsnames文件却tnsping无法ping通
  3. FPGA之道(82)功能仿真之仿真原理
  4. FPGA之道(28)VHDL的并行语句
  5. 【 C 】预处理指令
  6. 有限状态机设计实例之空调控制器(Verilog HDL语言描述)(仿真与综合)(附用Edraw(亿图)画状态转移图)
  7. cmd xcopy进行远程复制
  8. 设计一个基于svg的涂鸦组件(一)
  9. Django中多种重定向方法使用
  10. html5自带表单验证-美化改造