mysql中如何设置复制账户权限

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

在 MySQL 中配置主从复制时,需要为从库(slave)创建一个专用的复制账户,并授予相应的复制权限。这个账户用于主库和从库之间的连接和数据同步。以下是具体设置步骤:

创建复制账户

登录到主库的 MySQL 服务器,使用具有管理员权限的账户(如 root)执行以下命令:

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

这里 'repl' 是复制账户的用户名,'%' 表示允许从任意 IP 连接,生产环境中建议限制为从库的 IP 地址以增强安全性。

授予复制权限

为该账户授予复制权限(REPLICATION SLAVE):

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

REPLICATION SLAVE 权限允许该账户读取主库的二进制日志(binlog),这是实现复制的基础。ON *.* 表示对所有数据库生效,也可根据需要限定范围。

执行完后刷新权限:

FLUSH PRIVILEGES;

配置主库启用 Binlog

确保主库已开启二进制日志并配置了唯一的 server-id。检查 my.cnf 或 my.ini 配置文件:

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

重启 MySQL 服务使配置生效。

查看主库 Binlog 状态

运行以下命令查看当前 binlog 文件名和位置,后续配置从库时会用到:

SHOW MASTER STATUS;

记录输出中的 File 和 Position 值。

完成以上步骤后,从库就可以使用该账户连接主库并开始复制。复制账户只需 REPLICATION SLAVE 权限,无需其他额外权限,遵循最小权限原则更安全。

基本上就这些,只要账户能连上主库并读取 binlog,复制就能正常建立。

相关推荐