首先创建具有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连接主库,完成复制配置。
在 MySQL 中配置复制(Replication)时,需要创建一个专门用于复制的账户,供从服务器(Slave)连接主服务器(Master)并读取二进制日志。这个账户需要具备特定权限,且在网络层面可访问。以下是具体配置步骤。
登录到主服务器的 MySQL 实例,使用具有管理员权限的账户(如 root),执行以下 SQL 语句创建复制用户:
CREATE USER 'repl'@'%' IDENTIFIED BY 'your_secure_password';
其中:
为该用户授予复制所需的权限:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
此权限允许该账户读取主服务器的二进制日志,是实现主从复制的基础。执行后刷新权限:
FLUSH PRIVILEGES;
确保主服务器的 my.cnf 或 my.ini 配置文件中包含以下内容:
[mysqld] server-id = 1 log-bin = mysql-bin binlog-format = ROW
修改后重启 MySQL 服务使配置生效。
在主服务器上运行:
SHOW MASTER STATUS;
记录输出中的 File 和 Position 值,后续配置从服务器时需要用到。
从从服务器尝试连接主服务器,验证账户可用性:
mysql -h master_ip -u repl -p
如果能成功登录,说明账户和网络配置正确。
完成以上步骤后,即可在从服务器上使用 CHANGE MASTER TO 命令配置复制关系。复制账户配置的关键在于权限最小化和网络安全性,避免使用过于宽松的主机通配符。
基本上就这些。