如何在mysql中配置复制参数_mysql复制参数安装配置

来源:这里教程网 时间:2026-02-28 20:28:06 作者:

MySQL 主从复制是一种常用的数据同步机制,通过配置复制参数可以实现主库(Master)数据自动同步到从库(Slave)。以下是安装与配置 MySQL 复制参数的完整流程,适用于 MySQL 5.7 及以上版本。

1. 配置主库(Master)

要开启复制功能,必须先在主库中启用二进制日志(Binary Log),并设置唯一的服务器 ID。

编辑主库的配置文件 my.cnf(通常位于 /etc/my.cnf 或 /etc/mysql/my.cnf):

[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
expire-logs-days = 7
max-binlog-size = 1G

说明:

server-id:每台 MySQL 服务器必须有唯一 ID,主库设为 1。 log-bin:启用二进制日志,用于记录所有数据变更操作。 binlog-format:推荐使用 ROW 模式,更安全且兼容 GTID。

修改后重启 MySQL 服务:

systemctl restart mysqld

2. 创建复制专用账户

在主库上创建一个用于复制的用户,并授予 REPLICATION SLAVE 权限:

CREATE USER 'repl'@'%' IDENTIFIED BY 'repl_password';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;

该用户将被从库用来连接主库并读取 binlog 日志。

3. 配置从库(Slave)

同样编辑从库的 my.cnf 文件,设置 server-id 并可选开启 relay log:

[mysqld]
server-id = 2
relay-log = mysql-relay-bin
log-slave-updates = ON
read-only = ON

说明:

server-id 必须与主库不同。 relay-log 记录从主库接收到的日志。 read-only 防止从库误写数据。

配置完成后重启从库 MySQL 服务。

4. 启动复制过程

获取主库当前 binlog 位置:

SHOW MASTER STATUS;

记下 File 和 Position 的值,例如:

+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 123456   |              |                  |
+------------------+----------+--------------+------------------+

在从库上执行 CHANGE MASTER TO 命令:

CHANGE MASTER TO
  MASTER_HOST='master_ip',
  MASTER_USER='repl',
  MASTER_PASSWORD='repl_password',
  MASTER_LOG_FILE='mysql-bin.000003',
  MASTER_LOG_POS=123456;
<p>START SLAVE;

替换 master_ip 为主库的实际 IP 地址。

5. 检查复制状态

运行以下命令查看从库复制是否正常:

SHOW SLAVE STATUS\G

重点关注两个字段:

Slave_IO_Running: Yes Slave_SQL_Running: Yes

如果均为 Yes,说明复制已正常运行。若出现错误,可根据 Last_Error 信息排查。

补充建议

为保证数据一致性,建议在配置复制前对主库进行一致性的备份:

mysqldump --master-data=2 --single-transaction -A -R -E > backup.sql

其中 --master-data=2 会记录 binlog 位置,可用于从库同步起点。

基本上就这些。只要主从网络通畅、权限正确、server-id 不冲突,MySQL 复制就能稳定运行。

相关推荐

热文推荐