原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://luoweiro.blog.51cto.com/2186161/658550
MySQL主主复制结构区别于主从复制结构。在主主复制结构中,两台服务器的任
何一台上面的数据库存发生了改变都会同步到另一台服务器上,这样两台服务器
互为主从,并且都能向外提供服务。 这就比使用主从复制具有更好的性能。
接下来我将使用两个同样的服务器来实现这个效果:
具体Mysql的安装我就省略了,在上一篇的Mysql的主从架构的配置中有详细介绍
server1_mysql:192.168.1.108
server2_mysql: 192.168.1.110
server2_mysql: 192.168.1.110
拓扑结构:
server1_mysql-------server2_mysql
server1_mysql-------server2_mysql
IDENTIFIED BY 'server2';
server2:
mysql> GRANT REPLICATION SLAVE ON *.* TO 'server1'@'192.168.1.108'
mysql> GRANT REPLICATION SLAVE ON *.* TO 'server1'@'192.168.1.108'
IDENTIFIED BY 'server1';
2.修改Mysql的主配置文件
server1:
[mysqld]
server-id = 10
log-bin = mysql-bin
replicate-do-db = mydb
auto-increment-increment = 2 //每次增长2
auto-increment-offset = 1 //设置自动增长的字段的偏移量,即初始值为2
启动Mysql服务:
# service mysqld restart
server2:
[mysqld]
server-id = 20
log-bin = mysql-bin
replicate-do-db = mydb
auto-increment-increment = 2 //每次增长2
auto-increment-offset = 2 //设置自动增长的字段的偏移量,即初始值为2
启动Mysql服务:
# service mysqld restart
注:二都只有server-id不同和 auto-increment- offset不同
auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两
[mysqld]
server-id = 20
log-bin = mysql-bin
replicate-do-db = mydb
auto-increment-increment = 2 //每次增长2
auto-increment-offset = 2 //设置自动增长的字段的偏移量,即初始值为2
启动Mysql服务:
# service mysqld restart
注:二都只有server-id不同和 auto-increment- offset不同
auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两
台服务器,所以值设为2。
3.重新启动两个服务器
# service mysqld restart
# service mysqld restart
4.为了让两个数据库一样,我们备份其中一个数据库,然后在另一个数据库上恢
复,这样是两个数据库一开始都是一样的。
在server1上操作:
# mysqldump --databases luowei > /tmp/luowei.sql
在server2上操作:
创建一个与mydb同名的空数据库
# mysql
> CREATE DATABASE mydb;
>\q
# scp 192.168.1.108:/tmp/mydb.sql ./
# mysql -uroot -p mydb < /tmp/luowei.sql
在server1上操作:
# mysqldump --databases luowei > /tmp/luowei.sql
在server2上操作:
创建一个与mydb同名的空数据库
# mysql
> CREATE DATABASE mydb;
>\q
# scp 192.168.1.108:/tmp/mydb.sql ./
# mysql -uroot -p mydb < /tmp/luowei.sql
5.然后两个服务器相互通告二进制日志的位置并启动复制功能:
在server1上:
# mysql
> CHANGE MASTER TO
> MASTER_HOST='192.168.1.110',
> MASTER_USER='server2',
> MASTER_PASSWORD='server2';
mysql > START SLAVE;
在server1上:
# mysql
> CHANGE MASTER TO
> MASTER_HOST='192.168.1.110',
> MASTER_USER='server2',
> MASTER_PASSWORD='server2';
mysql > START SLAVE;
在server2上:
# mysql
> CHANGE MASTER TO
> MASTER_HOST='192.168.1.108',
> MASTER_USER='server1',
> MASTER_PASSWORD='server1';
mysql > START SLAVE;
# mysql
> CHANGE MASTER TO
> MASTER_HOST='192.168.1.108',
> MASTER_USER='server1',
> MASTER_PASSWORD='server1';
mysql > START SLAVE;
6.查看,并验证:
分别在两个数据库服务器上查看
mysql > START SLAVE;
然后查看数据库和表,你会发现内容是一样的,这样就是整个主主Mysql的架构
分别在两个数据库服务器上查看
mysql > START SLAVE;
然后查看数据库和表,你会发现内容是一样的,这样就是整个主主Mysql的架构
的配置过程。
相关推荐
例如,可以参考腾讯云开发者社区的教程,它详细介绍了如何搭建3主1从的多源复制架构,并提供了详细的配置步骤和命令 。 通过精心设计和配置,MySQL的多主复制可以为需要高可用性和数据冗余的应用程序提供强大的支持...
MySQL复制主要依赖于三个核心组件:主服务器上的二进制日志(Binary Log)、从服务器上的I/O线程和SQL线程。 1. **二进制日志(Binary Log)**: 当主服务器接收到客户端的写操作请求时,这些操作会被记录到二进制日志中...
二、MySQL复制架构 1. 复制概述:MySQL复制是一种主从复制模式,主服务器上的所有写操作都会被同步到从服务器,实现数据的实时备份和负载均衡。 2. 设置复制:复制需要在主服务器上启用二进制日志(`log-bin`),...
MySQL的链式复制是构建高可用性和高扩展性数据库架构的有效手段。通过在多个数据库实例之间建立复制链,链式复制不仅提高了数据同步的效率,还增强了系统的容错能力。然而,它也带来了数据一致性和故障检测等挑战,...
MySQL的循环复制是构建高可用性和高扩展性数据库架构的有效手段。通过在多个数据库实例之间建立复制链,循环复制不仅提高了数据同步的效率,还增强了系统的容错能力。然而,它也带来了数据一致性和故障检测等挑战,...
总的来说,SpringBoot与MySQL的主从复制和读写分离是企业级应用中常见的数据库架构设计,通过合理配置和优化,可以显著提高系统的稳定性和响应速度。通过学习和实践这些知识,开发者能够更好地构建可扩展、高可用的...
MySQL主从复制架构是MySQL数据库中一种实现数据同步和备份的机制,它允许将数据从一个主数据库(Master)复制到一个或多个从数据库(Slave)中。在复制过程中,主服务器负责处理更新操作,如INSERT、UPDATE、DELETE...
在数据库的高可用和扩展性需求日益增长的今天,MySQL的级联复制成为了解决这些挑战的有效手段之一。级联复制通过在多个数据库实例之间...随着技术的不断发展,级联复制仍然是MySQL数据库高可用架构中不可或缺的一部分。
描述:文档验证确实可以配置成功双主一从的 MySQL 架构,基本算是描述的比较全面 标签:mysql 主主 mysql 主从 双主一从 MySQL 双主一从架构 MySQL 双主一从架构主要由两个主服务器和一个从服务器组成。两个主...
在Windows环境下搭建MySQL主备双向复制以及Mycat负载均衡,是一种常见的数据库架构策略,用于提高数据的可用性、一致性和系统的负载均衡能力。以下详细的知识点说明了这一过程: 1. MySQL主备双向复制的概念和作用...
### MySQL数据库:MySQL数据库基础架构与历史 #### 一、MySQL的历史与发展 ##### 1. MySQL的起源 MySQL是一款由瑞典MySQL AB公司开发的关系型数据库管理系统。它的故事始于1979年的瑞典森林中,创始人Michael ...
在主主复制架构中,每一台服务器既是另一个服务器的“主”,也是另一个服务器的“从”。当任何一方接收到写操作时,它会将这些更改记录到自己的二进制日志(binlog)中,并发送给对端进行复制。这样,即使某一台服务器...
常见的MySQL复制方案有: 1. One master and multiple slaves(一主多备):这种架构通常用于读写分离,但会带来I/O压力集中在master上的问题。 2. Master - Slave - Slave updates(M-S-S):通过一个中继slave分担...
MySQL 5.6 主主复制配置是数据库高可用性架构中的常见实践,它允许两个数据库节点互相复制数据,实现数据的双向同步。这种配置在分布式系统、负载均衡和故障恢复等场景下非常有用。以下是对配置步骤的详细解释: 1....
【LVS+Keepalived+MySQL半同步主主复制高可用方案】 1. 方案概述 LVS(Linux Virtual Server)结合Keepalived构建的高可用解决方案,通常用于实现负载均衡和故障转移,以提高系统的整体可用性。在这个方案中,MySQL...
MySQL复制技术的主要优势包括: - **数据分布**:数据可以在多个地理位置分散,提高访问速度。 - **负载平衡**:读操作可以分散到从服务器,减轻主服务器压力。 - **备份**:从服务器可以用于定期备份,不影响主...
高性能 MySQL 主从架构的复制原理及配置详解 MySQL 的复制功能是构建大型、高性能应用程序的基础。MySQL 的数据分布到多个系统上去,这种分布的机制,是通过将 MySQL 的某一台主机的数据复制到其它主机(slaves)上...
MySQL复制技术的几种主要类型包括主从复制、半同步复制和主主复制,它们在数据库架构中扮演着重要的角色。下面将对这些复制技术进行详细解释。 首先,主从复制是最常见的复制方式,它涉及一个主服务器(Master)和...
- 工作流程主要包括:主服务器记录数据更改到二进制日志,从服务器通过IO线程读取这些日志并将其写入重放日志中,然后通过SQL线程重放这些日志以保持数据的一致性。 - **重点内容3:读写分离原理** - 读写分离的...