<p>首先创建具有REPLICATION SLAVE权限的专用账户,如CREATE USER ‘repl’@’%’ IDENTIFIED BY ‘password’; GRANT REPLICATION SLAVE ON . TO ‘repl’@’%’; 并限制主机IP以增强安全;接着在主服务器配置文件中设置server-id、启用log-bin并指定binlog-format为ROW;重启mysql服务后执行SHOW MASTER STATUS记录File和position值;最后从服务器通过CHANGE MASTER TO连接主库,完成复制配置。</p>

在 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.cnf 或 my.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;
记录输出中的 File 和 Position 值,后续配置从服务器时需要用到。
5. 测试复制账户连接
从从服务器尝试连接主服务器,验证账户可用性:
mysql -h master_ip -u repl -p
如果能成功登录,说明账户和网络配置正确。
完成以上步骤后,即可在从服务器上使用 CHANGE MASTER TO 命令配置复制关系。复制账户配置的关键在于权限最小化和网络安全性,避免使用过于宽松的主机通配符。
基本上就这些。


