在MySQL 8.0中,您可以通过以下步骤自动配置主从复制:
- 在主服务器上进行配置:
- 打开主服务器的配置文件(通常是
my.cnf
或my.ini
)。 - 添加或修改以下配置参数:
server-id = 1 # 主服务器的唯一标识
log_bin = mysql-bin # 启用二进制日志记录
binlog_format = ROW # 使用行级复制格式
- 保存并关闭配置文件。
- 重启主服务器以使配置生效。
- 在从服务器上进行配置:
- 打开从服务器的配置文件。
- 添加或修改以下配置参数:
server-id = 2 # 从服务器的唯一标识,确保不与主服务器重复
relay_log = mysql-relay-bin # 中继日志文件名
log_bin = mysql-bin # 启用二进制日志记录
binlog_format = ROW # 使用行级复制格式
read_only = 1 # 将从服务器设置为只读模式,可选
- 保存并关闭配置文件。
- 重启从服务器以使配置生效。
- 在主服务器上创建用于复制的用户:
- 连接到主服务器。
- 执行以下命令创建复制用户,并为其授予适当的权限:
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
- 注意:请将
'password'
替换为实际的密码。
- 在从服务器上配置复制连接:
- 连接到从服务器。
- 执行以下命令配置从服务器连接到主服务器:
CHANGE MASTER TO
MASTER_HOST = '主服务器的IP地址',
MASTER_PORT = 主服务器的端口号,
MASTER_USER = 'replication_user',
MASTER_PASSWORD = 'password',
MASTER_AUTO_POSITION = 1;
- 注意:请将
'主服务器的IP地址'
、主服务器的端口号
、'replication_user'
和'password'
替换为实际的值。
- 启动从服务器复制进程:
- 执行以下命令开始从服务器的复制进程:
START SLAVE;
- 您可以使用以下命令来验证复制状态:
SHOW SLAVE STATUS\G
- 确保 "Slave_IO_Running" 和 "Slave_SQL_Running" 值为 "Yes",并且没有其他错误。
完成以上步骤后,主从复制就会自动配置并开始同步数据。请确保主服务器和从服务器之间的网络连接正常,并且主服务器上的二进制日志没有被清除。如果您需要在现有的数据库中设置复制,请确保在启动复制之前没有任何数据冲突。