在MySQL 8.0中,您可以通过以下步骤自动配置主从复制:

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

完成以上步骤后,主从复制就会自动配置并开始同步数据。请确保主服务器和从服务器之间的网络连接正常,并且主服务器上的二进制日志没有被清除。如果您需要在现有的数据库中设置复制,请确保在启动复制之前没有任何数据冲突。