由于公司的业务需求,需要网通和电信的数据同步,就做了个MySQL的双向同步,记下过程,以后用得到再翻出来,也贴出来供大家参考。
一、准备服务器
由于MySQL不同版本之间的(二进制日志)binlog格式可能会不一样,因此最好的搭配组合是Master的MySQL版本和Slave的版本相同或者更低,Master的版本肯定不能高于Slave版本。
本文中,我们假设主服务器(以下简称Master)和从服务器(以下简称Slave)的版本都是5.0.27,操作系统是RedHat Linux 9。
假设同步Master的主机名为:A(IP:192.168.0.1),Slave主机名为:B(IP:192.168.0.2),2个MySQL的basedir目录都是/usr/local/mysql,datadir都是:/var/lib/mysql。
二、设置同步服务器
1、设置同步Master
修改 my.cnf 文件,在
# Replication Master Server (default)
# binary logging is required for replication
添加如下内容:
log-bin=/var/log/mysql/updatelog
server-id = 1
binlog-do-db=test
binlog-ignore-db=mysql
重启MySQL,创建一个MySQL帐号为同步专用
GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@192.168.0.2 IDENTIFIED BY 'back' ;
FLUSH PRIVILEGES ;
2、设置同步Slave
修改my.cnf文件,添加
server-id = 2
master-host = 192.168.0.1
master-user = back
master-password = back
master-port = 3306
replicate-ignore-db=mysql
replicate-do-db=test
重启MySQL
3、启动同步
在主服务器A MySQL命令符下:
show master status;
显示(当然这个是我机器的情况,你的不可能跟我一样哈,只是个例子):
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| updatelog.000028 | 313361 | test | mysql |
+------------------+----------+-------------------+------------------+
在从服务器A MySQL命令符下:
slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028',MASTER_LOG_POS=313361;
slave start;
用show slave status\G;看一下从服务器的同步情况
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果都是yes,那代表已经在同步
往表里面写点数据测试一下看是否同步成功,如果不成功,绝对不是你的RP问题,再检查一下操作步骤!
4、设置双向同步
修改B服务器的my.cnf,添加
log-bin=/var/log/mysql/updatelog
binlog-do-db=test
binlog-ignore-db=mysql
重启MySQL,创建一个MySQL帐号为同步专用
GRANT REPLICATION SLAVE,RELOAD,SUPER, ON *.* TO back@192.168.0.1 IDENTIFIED BY 'back' ;
FLUSH PRIVILEGES ;
修改A服务器的my.cnf,添加
master-host = 192.168.0.2
master-user = back
master-password = back
master-port = 3306
replicate-ignore-db=mysql
replicate-do-db=test
重启MySQL
在主服务器B MySQL命令符下:
show master status;
+------------------+----------+-------------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+-------------------+------------------+
| updatelog.000028 | 13753 | test | mysql |
+------------------+----------+-------------------+------------------+
在服务器A MySQL命令符下:
slave stop;
CHANGE MASTER TO MASTER_LOG_FILE='updatelog.000028',MASTER_LOG_POS=13753;
slave start;
其实也就是A->B单向同步的反向操作!双向同步,就这么简单啦!
分享到:
相关推荐
本篇文章将详细介绍如何在 Windows 环境下配置 MySQL 单向和双向数据同步。 首先,单向数据同步(从 A 到 B)的配置步骤如下: 1. **创建源数据库**:在主机 A 上创建一个名为 `backup_db` 的数据库,并在其中创建...
8. **双向同步**:设置好单向同步后,需要在另一台服务器上重复上述步骤,调整`change master to`中的信息为对端服务器的IP、端口和日志位置,从而实现双向同步。 9. **错误处理**:如果在配置过程中遇到错误,应...
通过mysql自带的数据同步机制,可以方便的实现mysql数据库的数据同步。如果需要实现双向同步,则从A-B配置单向同步后,再从B-A配置一遍即可。
在SQL Server与MySQL之间进行同步,通常有两种主要方法:双向同步和单向同步。双向同步意味着两个数据库都可以作为源和目标,数据更新可以在两个方向上流动;单向同步则是指数据只在一个方向上移动,比如从SQL ...
本文将详细介绍如何实现MySQL的双向主主同步,从而确保数据的高度一致性和高可用性。 #### 一、双向主主同步简介 MySQL的双向主主同步是指两个MySQL服务器之间相互作为对方的主服务器和从服务器,形成互为主从的...
总的来说,MySQL的单向和双向同步配置涉及到多个环节,包括服务器设置、权限分配、数据迁移和状态监控。正确配置和维护这些同步机制对于保障数据安全和提高服务可用性至关重要。在实际操作中,需要注意的是,由于...
主从单向和双向备份配置 在 MySQL 中,实现主从备份是非常重要的,主要是为了保证数据的安全性和可用性。...主从单向和双向备份配置是 MySQL 中非常重要的知识点,能够保证数据的安全性和可用性。
1. 单向同步:支持MySQL与Oracle之间的数据同步。 2. 双向同步:在无冲突的情况下进行双向数据变更同步。 3. 文件同步:支持本地或Aranda文件的同步。 4. 双A同步:具备冲突检测和补救机制。 5. 数据迁移:利用中间...
MySQL的主从复制是数据库高可用性和数据安全性的重要机制,它允许数据从一个服务器(主服务器)实时同步到另一个或多个服务器(从服务器)。这种配置可以实现数据的冗余备份,提高系统的可用性,同时也为负载均衡和...
它可以是单向的(例如,从主数据库到备份)或双向的(双方都可以进行修改)。 2. **C#中的数据访问技术**:C#提供了多种数据访问工具,如ADO.NET、Entity Framework、SQLite、MySQL、SQL Server等。这些框架和库...
在这个领域,传统的MySQL主从复制(Master-Slave)模式通常只能实现单向同步,即从主库到从库的数据流动,而Go-DRC则突破了这一限制,提供了更灵活的数据同步策略。 Go-DRC基于Go语言开发,这使得它具备了高性能、...
Otter支持双向同步,但需要注意的是在某一时刻,同步方向是单向的。复制过程包括master记录变更到二进制日志,slave拷贝这些事件到中继日志,最后slave重放中继日志事件以更新自身数据。 综上所述,MySQL双活同步...
2. **双向同步**:该工具不仅支持从源数据库到目标数据库的单向同步,还支持双向同步,确保数据的双向更新。 3. **实时同步**:可以设置实时同步规则,一旦源数据库发生更改,目标数据库会立即更新,确保数据即时性...
此外,你还可以设置同步的方向,例如单向同步(只从 SQL Server 到 MySQL 或反之)或双向同步。 **安排同步计划** 最后,进入“计划调度设置”选项卡,这是设置定时同步的关键步骤。你可以创建新的运行计划,选择...
2. **双向同步**:除了单向的数据导入,工具可能还支持双向同步,使得源数据库和目标数据库可以保持数据的实时更新。 3. **数据映射与转换**:提供数据类型转换和字段映射功能,确保在不同数据库间的数据兼容性。 4....
MySQL数据库同步是指在两个或多个数据库之间保持数据一致性的过程,这对于分布式系统、备份策略以及高可用性架构至关重要。在本篇文章中,我们将探讨MySQL数据库同步的原理、常见方法及其实现步骤。 首先,让我们...
1. 单向同步:一种常见的方法是从MySQL到Redis的单向同步,即MySQL作为主数据源,Redis作为缓存。每当MySQL中的数据发生变化时,通过触发器、中间件或专门的工具将变更同步到Redis。例如,可以使用`Redisson`库来...
这个过程可以是单向的,也可以是双向的,以保持两个或多个数据源的一致性。dbsyncer作为一个中间件,扮演着连接不同数据库系统并管理数据传输的角色。 ### 2. 功能特性 - **多数据库支持**:dbsyncer能够支持多种...
- **单向/双向同步**:虽然称为“双向”,但在特定时间点上,数据流通常是单向的。 #### 六、总结 通过对以上几种MySQL数据库双活同步复制方案的分析,我们可以看到,每种方案都有其特点和适用场景。选择合适的...