mysql如何配置replication账号

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

在MySQL中配置主从复制(Replication)时,需要创建一个专门用于复制的账号,该账号供从库(Slave)连接主库(Master)并读取二进制日志(binlog)。以下是创建和配置Replication账号的步骤:

1. 在主库上创建Replication专用账号

登录到主库的MySQL命令行,使用root或具有SUPER权限的用户执行以下命令:

CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

其中:

'repl' 是复制账号的用户名,可自定义。 '%' 表示允许从任意IP连接,生产环境建议限制为从库的IP,如 'repl'@'192.168.1.10' REPLICATION SLAVE 是复制所需的最小权限。

2. 刷新权限使配置生效

FLUSH PRIVILEGES;

确保新创建的用户和权限立即生效。

3. 配置主库的my.cnf文件

编辑主库的MySQL配置文件(通常位于 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf),确保包含以下内容:

[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
server-id:每台MySQL实例必须唯一,主库设为1。 log-bin:启用二进制日志,复制的基础。 binlog-format:推荐使用ROW格式,更安全且兼容性强。

修改后重启MySQL服务或动态生效(部分配置需重启)。

4. 查看主库binlog状态

执行以下命令查看当前binlog文件名和位置,后续配置从库时需要:

SHOW MASTER STATUS;

记录输出中的 FilePosition 值。

5. 从库配置中使用该账号

在从库上执行:

CHANGE MASTER TO
  MASTER_HOST='主库IP',
  MASTER_USER='repl',
  MASTER_PASSWORD='your_password',
  MASTER_LOG_FILE='mysql-bin.000001',
  MASTER_LOG_POS=1234;

启动复制:

START SLAVE;

检查状态:

SHOW SLAVE STATUS\G

基本上就这些。账号权限要最小化,网络要通,防火墙开放3306端口,主从时间同步也很重要。

相关推荐

热文推荐