欢迎访问宙启技术站
智能推送

MySQL主主复制(双主复制)配置过程介绍

发布时间:2023-05-13 21:14:35

MySQL主主复制是一种高可用性的数据库解决方案,能够提高数据库的可用性和性能。主主复制指两台MySQL服务器彼此都是主服务器,彼此都是从服务器,它们之间相互同步数据。当一台服务器宕机时,另一台服务器可以立即接手宕机服务器的工作,避免数据丢失和停机时间,提高数据库的可用性。

下面是MySQL主主复制的配置过程:

一、创建数据库

1. 在两台服务器上都创建一个空的数据库示例:

CREATE DATABASE example;

二、创建用户

1. 在两台服务器上都创建一个MySQL用户:

CREATE USER 'exampleuser'@'%' IDENTIFIED BY 'password';

2. 给用户授权:

GRANT ALL PRIVILEGES ON example.* TO 'exampleuser'@'%';

三、修改配置文件

1. 修改my.cnf配置文件

在两台服务器上都修改my.cnf配置文件,启用二进制日志和主主复制功能,将以下代码添加到配置文件中:

log-bin=mysql-bin

server-id=1

auto_increment_increment=2

auto_increment_offset=1

replicate-wild-do-table=example.%

其中server-id设置为1和2分别代表两个服务器的ID,auto_increment_increment和auto_increment_offset用于避免产生主键重复,replicate-wild-do-table表示要复制的表格。

2. 启用主主复制

在两台服务器上都执行以下语句启用主主复制:

CHANGE MASTER TO MASTER_HOST='另一台服务器的IP地址',MASTER_USER='exampleuser',MASTER_PASSWORD='password', MASTER_LOG_FILE='自己服务器的文件名',MASTER_LOG_POS=文件的位置;

四、测试主主复制

1. 插入数据

在任一台服务器上执行以下语句插入数据:

INSERT INTO example.test(name) VALUES('test');

2. 查看数据

在另一台服务器上执行以下语句查看数据是否同步:

SELECT * FROM example.test;

如果数据能够同步,说明主主复制配置成功。

MySQL主主复制(双主复制)配置过程比较繁琐,但可以提高数据库的可用性和性能,避免数据丢失和停机时间。在实践中,需要注意配置文件的修改和语句的执行顺序。如果出现问题,需要及时记录日志和排查问题。