`

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

好了,同步完成啦。

转自:http://www.cnblogs.com/blueel/archive/2013/01/06/2847842.html
分享到:
评论

相关推荐

    MySQL主主双向同步测试报告.pdf

    MySQL主主双向同步是一种高可用性和高冗余性的数据库部署模式,它允许两台MySQL服务器互相作为主服务器和从服务器,实现数据的实时双向同步。这样,任何一台服务器上的数据更改都会被复制到另一台服务器上,提高了...

    MySQL主备同步配置手册

    MySQL主备同步配置手册详细知识点: 1. 开启MySQL主服务器的二进制日志机制: - 二进制日志记录了对数据库的更改操作,例如表结构的更改、数据更新等。在生产环境中,二进制日志对于数据恢复和主备同步非常重要。 ...

    LVS+Keepalived+MySQL半同步主主复制高可用方案.docx

    LVS+Keepalived+MySQL半同步主主复制方案提供了一种高可用性和数据一致性的解决方案,适用于需要高稳定性和容错能力的环境。通过适当的配置和管理,可以实现高效的数据库管理和维护。然而,需要注意的是,该方案可能...

    mysql 互为主从同步研究和各种问题的解决

    MySQL主从同步是一种常见的数据库复制技术,用于在多个MySQL服务器之间传播数据更改,以实现高可用性和负载均衡。本文将深入探讨MySQL主从同步的概念、互为主从的配置以及常见问题的解决方案。 1. **MySQL主从同步...

    mysql集群多主同步教程.zip

    MySQL集群是一种用于提高数据库服务高可用性和横向扩展性的解决方案,多主同步是其中的一种策略。在MySQL集群中,多主配置意味着每个节点都可以作为主节点,既可以读取也可以写入数据,并且这些节点之间会进行数据...

    MySQL的主从复制、半同步复制、主主复制详解

    MySQL复制技术的几种主要类型包括主从复制、半同步复制和主主复制,它们在数据库架构中扮演着重要的角色。下面将对这些复制技术进行详细解释。 首先,主从复制是最常见的复制方式,它涉及一个主服务器(Master)和...

    mysql双机热备同步

    在 MySQL 中,主从关系同步是指一个主服务器将数据同步到一个或多个从服务器上。主服务器负责写入数据,而从服务器负责读取数据。在 MySQL 双机热备同步中,主服务器是 192.168.5.10,而从服务器是 192.168.5.4。 ...

    mysql通过binlog同步数据到redis的方法.docx

    该方法通过模仿mysql的slave角色,从master获取数据库变化的数据,写入activeMQ,再同步到redis,实现数据同步的功能。 mysql-replication主程序 mysql-replication是binlog同步的主程序,负责模仿mysql的slave...

    特别有用的MySQL数据实时同步到ES轻松配置手册

    在当今大数据时代,实时数据同步成为许多企业和组织的关键需求,特别是从关系型数据库如 MySQL 到分布式搜索引擎如 ElasticSearch(ES)的实时同步。本文将详细介绍如何利用灵蜂数据集成软件 BeeDI 实现这一目标。 ...

    mysql主主同步配置

    ### MySQL 主主同步配置详解 #### 一、概念与原理 在MySQL的主主同步配置中,两个服务器之间实现双向的数据复制,确保数据的一致性和高可用性。这种配置方式适用于对数据同步要求较高且希望避免单点故障的场景。 ...

    如何在两台MySQL数据库间实现同步

    `命令查看从服务器的同步进度和状态,以便及时发现并解决问题。 最后,虽然本教程以MySQL 4.1.15为例,但这些基本步骤适用于更高版本的MySQL。随着版本的升级,MySQL提供了更多的同步选项和特性,如半同步复制、...

    Mysql主从半同步配置

    MySQL主从半同步复制是介于异步复制和全同步复制之间的一种模式,它提供了更好的数据安全性和一致性,同时也尽可能地减少了性能损失。 首先,我们来了解一下什么是MySQL半同步复制。在半同步复制模式下,主服务器在...

    mysql实时同步pg

    Flink CDC是一种基于Flink的Change Data Capture(CDC)工具,用于实现数据库之间的实时数据同步。在这个场景中,我们将使用Flink CDC来实现MySQL到PostgreSQL的实时数据同步。 首先,我们需要配置源数据库和目标...

    mysql主从同步解决方案及优化

    淘宝资深工程师丁奇在2009年的分享中详细介绍了MySQL主从同步的原理、配置、优化以及在实际应用中遇到的问题和解决方案。 首先,MySQL主从同步的基本概念指的是在一个数据库实例(主库)上对数据进行修改操作后,...

    MySQL数据库的同步

    Java是一种流行的、跨平台的编程语言,具有丰富的库支持和强大的网络功能,因此适合用于构建数据库同步解决方案。 数据库同步的技术方案多种多样,包括异步复制、半同步复制、多源复制等。MySQL中的复制功能允许一...

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

    MySQL半同步复制(Semi-Synchronous Replication)是一种增强主从复制一致性的方法,它确保在主服务器上的事务提交之前,至少有一个从服务器接收到并应用了该事务的日志。 1. **半同步插件**:MySQL提供了一个名为`...

    java实现两个mysql同步主库的数据

    在IT行业中,数据库同步是一个常见的需求,特别是在分布式系统或者高可用架构中,为了保证数据的一致性和完整性,通常需要将一个数据库(主库)的数据实时或定时地复制到另一个数据库(从库)。在这个场景中,Java...

    Nginx实现MYSQL主备高可用

    2. **Nginx配置**:安装并配置Nginx,添加适当的upstream块定义MySQL服务器组,包含主服务器和从服务器的IP地址和端口。在location块中,通过proxy_pass指令将请求路由到upstream。 ```nginx upstream mysql_...

Global site tag (gtag.js) - Google Analytics