<ol><li>创建复制账户:在主库用管理员账户执行CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘your_password’;2. 授予REPLICATION SLAVE权限:GRANT REPLICATION SLAVE ON . TO ‘repl’@’%’;3. 刷新权限:FLUSH PRIVILEGES;4. 配置主库启用log-bin和server-id=1;5. 从库通过CHANGE MASTER TO连接主库并启动复制,需确保网络通、防火墙开放且密码安全。</li></ol>

在 mysql 中配置复制(Replication)时,需要为从库(Slave)创建一个专用的复制账户,并赋予相应的权限。这个账户用于主库和从库之间的数据同步。以下是具体操作步骤和权限配置方法。
创建复制账户
登录到主库的 MySQL 实例,使用具有管理员权限的账户(如 root)执行以下命令:
CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘your_password‘;
其中 repl 是复制账户名,% 表示允许从任意 IP 连接,生产环境中建议限制为从库的实际 IP,例如 ‘repl’@’192.168.1.10’ 以提高安全性。
授予复制权限
为该账户授予复制所需的权限:
GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’;
REPLICATION SLAVE 权限允许该账户读取主库的二进制日志(binary log),这是实现主从复制的基础。不需要额外的 select 或其他权限。
刷新权限并检查配置
执行以下命令使权限生效:
FLUSH PRIVILEGES;
可选:查看用户权限确认是否设置正确:
SHOW GRANTS for ‘repl’@’%’;
主库开启二进制日志
确保主库已启用二进制日志(Binary Logging)。在 MySQL 配置文件 my.cnf 或 my.ini 中添加以下内容:
[mysqld]
server-id = 1
log-bin = mysql-bin
重启 MySQL 服务后,主库会生成形如 mysql-bin.000001 的日志文件,从库将通过这些日志进行数据同步。
基本上就这些。只要账户权限正确、网络通、主库日志开启,从库就可以用 CHANGE MASTER TO 命令连接并开始复制。注意密码安全和防火墙设置,避免连接失败。