`
suixinsuoyu12519
  • 浏览: 42653 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

MYSQL主从不一致

 
阅读更多

今天发现Mysql的主从数据库没有同步

先上Master库:

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

show master status; 也正常。

mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)

再到Slave上查看

mysql> show slave status\G                                                

Slave_IO_Running: Yes

Slave_SQL_Running: No

可见是Slave不同步

下面介绍两种解决方法:

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

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

解决: 

stop slave;

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

set global sql_slave_skip_counter =1;

start slave;

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

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

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

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

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

解决步骤如下:

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

使用命令:

mysql> flush tables with read lock;

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

2.进行数据备份 

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

[root@server01 mysql]#mysqldump -uroot -p -hlocalhost > mysql.bak.sql

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

3.查看master 状态

mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)

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

#使用scp命令

[root@server01 mysql]# scp mysql.bak.sql root@192.168.128.101:/tmp/

5.停止从库的状态

mysql> 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.000001', master_log_pos=3260;

8.重新开启从同步

mysql> start slave;

9.查看同步状态

mysql> show slave status\G  查看:

Slave_IO_Running: Yes

Slave_SQL_Running: Yes

好了,同步完成啦。

分享到:
评论

相关推荐

    MySQL主从不一致检查与修复

    自己在公司做的MySQL主从不一致检查与修复,希望对大家有帮助!

    详解MySQL主从不一致情形与解决方法

    主要介绍了详解MySQL主从不一致情形与解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    MySQL主从一致性检查&修复攻略

    MySQL主从一致性检查&修复攻略,这个DBA必看的,必须要会的

    如何恢复MySQL主从数据一致性

    MySQL主从数据一致性怎么恢复,MySQL主从数据库的数据不一致,猜测备库在同步过程中出现了问题,现在的问题很明确,就是如何恢复主从库数据的一致性,下文为大家分享解决方法,感兴趣的小伙伴们可以参考一下

    如何实现MySQL的主从复制和半同步复制

    如何实现MySQL的主从复制和半同步复制对普通用户来说可能比较难懂,但只要您接触了MYSQL,就没理由不去学。

    mysql主从复制配置(完整已测试).txt

    (1)首先,mysql主库在事务提交时会把数据库变更作为事件Events记录在二进制文件binlog中;mysql主库上的sys_binlog控制binlog日志刷新到磁盘。 (2)主库推送二进制文件binlog中的事件到...Mysql通过3个线程来完成主从库

    mysql主从复制.doc

    mysql主从复制搭建过程及其问题解决办法 一、环境介绍及说明 主库所在的操作系统:win10 主库的版本:MySQL Server 5.7 主库的ip地址:127.0.0.1 主库的端口:3307 从库所在的操作系统:win10 从库的版本:MySQL ...

    mysql 主从数据不一致,提示: Slave_SQL_Running: No 的解决方法

    主要介绍了mysql 主从数据不一致,提示: Slave_SQL_Running: No 的解决方法,总结分析了MySQL主从数据不一致的原因与常见处理技巧,需要的朋友可以参考下

    joeywang310#mysql-master-slave#Mysql主从复制集群搭建-基于DockerCompose1

    如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致slave mysql容器配置配置Dockerfile设置server_id,一般设置为

    MySQL 主从复制搭建,基于日志(binlog)

    什么是MySQL主从复制  简单来说,是保证主SQL(Master)和从SQL(Slave)的数据是一致性的,向Master插入数据后,Slave会自动从Master把修改的数据同步过来(有一定的延迟),通过这种方式来保证数据的一致性,是...

    MYSQL主从同步实战

     在实际项目中,两台分布于异地的主机上安装有MYSQL数据库,两台服务器互为主备,客户要求当其中一台机器出现故障时,另外一台能够接管服务器上的应用,这就需要两台数据库的数据要实时保持一致,在这里使用MYSQL的...

    MySQL主从复制常见故障排除

    生产环境中为了保证系统的兼容与稳定,在搭建服务器时就应该配置主从复制,主从服务器中的MySQL版本尽量一致。但有时难以保证版本的一致,或者在学习过程中遇到版本不兼容的问题,就容易遇到各种奇葩的故障。本文...

    windows下mysql数据库主从配置教程

    windows下配置mysql数据库主从的详细过程,具体内容如下 ...server-id=1#主库和从库需要不一致 log-bin=mysql-bin binlog-do-db=mstest#同步的数据库 binlog-do-db=test#同步的数据库 binlog-do-db=key

    Mysql主从复制服务器配置

    怎么安装mysql数据库,这里不说了,只说它的主从复制,步骤如下:  1、主从服务器分别作以下操作:  1.1、版本一致  1.2、初始化表,并在后台启动mysql  1.3、修改root的密码  2、修改主服务器master:  ...

    使用keepalived实现对MySQL主从复制的主备自动切换

    使用MySQL+keepalived是一种非常好的解决方案,在MySQL-HA环境中,MySQL互为主从关系,这样就保证了两台 MySQL数据的一致性,然后用keepalived实现虚拟IP,通过keepalived自带的服务监控功能来实现MySQL故障时自动...

    MySQL主从复制延迟原因以及解决方案

    如:从库上有需要较高一致性的读业务,并且要求延迟小于某个值,那么则需要关注。 简单概述一下复制逻辑: 1、主库将对数据库实例的变更记录到binlog中。 2、主库会有binlog dump线程实时监测binlog的变更并将...

    MySQL主从同步

    主从同步一、主从同步概述1.1、MySQL主从同步1.2、主从同步工作原理1.2.1、必要条件1.2.2、具体过程1.3、结构类型二、构建一主一从2.1、拓扑结构2.2、配置主服务器2.2.1、启用binlog日志2.2.2、授权用户2.2.3、查看...

Global site tag (gtag.js) - Google Analytics