MySQL 8 中设置主从复制以实现主从热备份(Master-Slave Replication)

在 MySQL 8 中设置主从复制以实现主从热备份(Master-Slave Replication)可以按照以下步骤进行:

步骤 1:配置主服务器(Master)
编辑主服务器配置文件:打开主服务器(Master)的 MySQL 配置文件(通常是 my.cnf 或 my.ini),确保以下参数被启用或添加,并重启 MySQL 服务:

[mysqld]
server-id = 1  # 设置主服务器的唯一 ID
log_bin = /var/log/mysql/mysql-bin.log  # 启用二进制日志,用于复制

创建用于复制的用户:在主服务器上创建一个用于复制的用户,该用户需要 REPLICATION SLAVE 权限:

CREATE USER 'replication_user'@'slave_ip' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'slave_ip';
FLUSH PRIVILEGES;

步骤 2:配置从服务器(Slave)
编辑从服务器配置文件:打开从服务器(Slave)的 MySQL 配置文件,添加以下参数,并重启 MySQL 服务:

[mysqld]
server-id = 2  # 设置从服务器的唯一 ID,要确保与主服务器不同

配置主从复制:连接到从服务器,执行以下 SQL 命令来设置主从复制:

STOP SLAVE;  -- 如果之前已经设置过复制,先停止复制进程
CHANGE MASTER TO
  MASTER_HOST = 'master_ip',
  MASTER_USER = 'replication_user',
  MASTER_PASSWORD = 'password',
  MASTER_LOG_FILE = 'mysql-bin.000001',  -- 从主服务器 SHOW MASTER STATUS 获取
  MASTER_LOG_POS = 123456;  -- 从主服务器 SHOW MASTER STATUS 获取到的值

START SLAVE;

MASTER_HOST:指定主服务器的 IP 地址或主机名。
MASTER_USER 和 MASTER_PASSWORD:用于复制的用户和密码。
MASTER_LOG_FILE 和 MASTER_LOG_POS:从 SHOW MASTER STATUS 命令中获取的主服务器的二进制日志文件名和位置。
步骤 3:验证主从复制
在主服务器上进行一些数据库操作,确保这些操作会被记录到二进制日志中。

在从服务器上查询复制状态,确认复制进程正在运行且没有错误:

SHOW SLAVE STATUS;

在查询结果中,Slave_IO_Running 和 Slave_SQL_Running 应该都显示为 Yes,表示复制进程正常运行。

注意事项
确保主服务器和从服务器之间能够互相通信。
主从服务器的 server-id 必须唯一且不同。
在故障恢复和维护过程中,应格外注意主从服务器的状态以及数据一致性。
可以使用 RESET SLAVE 命令重置从服务器的复制配置,或者使用 CHANGE MASTER TO 命令调整主从复制的配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值