如何在mysql中配置复制账户

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

在 MySQL 中配置复制(Replication)时,需要创建一个专门用于复制的账户,供从服务器(Slave)连接主服务器(Master)并读取二进制日志。这个账户需要具备特定权限,且在网络层面可访问。以下是具体配置步骤。

1. 创建复制专用账户

登录到主服务器的 MySQL 实例,使用具有管理员权限的账户(如 root),执行以下 SQL 语句创建复制用户:

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

其中:

repl 是用户名,可根据需要自定义。 '%' 表示允许该用户从任意主机连接;生产环境中建议限制为从服务器的 IP,例如 'repl'@'192.168.1.100',以提高安全性。 your_secure_password 应替换为强密码。

2. 授予复制权限

为该用户授予复制所需的权限:

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

此权限允许该账户读取主服务器的二进制日志,是实现主从复制的基础。执行后刷新权限:

FLUSH PRIVILEGES;

3. 配置主服务器(Master)

确保主服务器的 my.cnfmy.ini 配置文件中包含以下内容:

[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-format = ROW
server-id 必须唯一,主服务器设为 1。 log-bin 启用二进制日志,这是复制的核心。 binlog-format 推荐使用 ROW 模式,更安全且兼容性好。

修改后重启 MySQL 服务使配置生效。

4. 获取主服务器状态信息

在主服务器上运行:

SHOW MASTER STATUS;

记录输出中的 FilePosition 值,后续配置从服务器时需要用到。

5. 测试复制账户连接

从从服务器尝试连接主服务器,验证账户可用性:

mysql -h master_ip -u repl -p

如果能成功登录,说明账户和网络配置正确。

完成以上步骤后,即可在从服务器上使用 CHANGE MASTER TO 命令配置复制关系。复制账户配置的关键在于权限最小化和网络安全性,避免使用过于宽松的主机通配符。

基本上就这些。

相关推荐