mysql如何设置复制账号权限

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

在MySQL中设置复制账号权限,主要是为了主从复制(Master-Slave Replication)服务。这个账号用于从库连接主库并读取二进制日志(binlog),因此需要特定权限。

1. 创建复制专用账号

建议为复制创建一个独立的用户,便于管理与安全控制。登录主库的MySQL,执行以下命令:

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

说明:

'repl' 是用户名,可自定义。 '%' 表示允许从任意IP连接,也可指定从库IP如 'repl'@'192.168.1.100' 提高安全性。 'your_password' 应使用强密码。

2. 授予REPLICATION SLAVE权限

复制账号只需 REPLICATION SLAVE 权限即可正常工作:

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

说明:

ON *.* 表示所有数据库和表,这是必须的,因为复制涉及整个实例。 REPLICATION SLAVE 权限允许该用户请求主库的binlog内容。

授权后刷新权限:

FLUSH PRIVILEGES;

3. 配置主库启用Binlog

确保主库已开启二进制日志并配置了server-id:

编辑 my.cnf 或 my.ini 文件:

[mysqld]
server-id = 1
log-bin = mysql-bin

重启MySQL服务使配置生效。

4. 查看主库Binlog状态

执行以下命令查看当前binlog文件名和位置,用于从库配置:

SHOW MASTER STATUS;

记录 File 和 Position 的值。

5. 从库连接测试(可选)

可在从库上用如下命令测试账号是否可用:

mysql -h master_ip -u repl -p

成功登录即表示账号和网络正常。

基本上就这些。只要账号有REPLICATION SLAVE权限,且主库配置正确,从库就能通过CHANGE MASTER TO命令建立复制关系。安全起见,不要给复制账号额外权限。

相关推荐