首先创建复制账号并授予权限,使用CREATE USER和GRANT REPLICATION SLAVE命令;然后在主库配置文件中设置server-id、开启log-bin并指定binlog-format为ROW;重启MySQL服务后执行SHOW MASTER STATUS记录File和Position值,供从库CHANGE MASTER TO时使用,确保网络通畅且无server-id冲突即可建立复制。

在 MySQL 中配置复制(Replication)时,需要为从库(Slave)创建一个专用的复制账号,并赋予相应的权限。这个账号用于主库和从库之间的数据同步。以下是具体配置步骤和权限设置说明。
登录到主库的 MySQL 实例,使用具有管理员权限的账户(如 root)执行以下命令:
CREATE USER 'repl'@'%' IDENTIFIED BY 'your_password';
其中 repl 是复制账号的用户名,% 表示允许从任意 IP 连接,生产环境中建议限制为从库的实际 IP,例如 'repl'@'192.168.1.10',以提高安全性。
复制账号需要具备 REPLICATION SLAVE 权限,这是 MySQL 中专门用于复制的权限类型:
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
该权限允许从库连接主库并读取二进制日志(binary log)进行数据同步。不需要赋予其他额外权限如 SELECT 或 ALL PRIVILEGES,除非有特殊需求。
执行完后刷新权限:
FLUSH PRIVILEGES;
确保主库已启用二进制日志(Binary Logging)并设置了唯一的 server-id。在主库的配置文件 my.cnf 或 my.ini 中添加或确认以下内容:
[mysqld] server-id = 1 log-bin = mysql-bin binlog-format = ROW
重启 MySQL 服务使配置生效。其中 binlog-format = ROW 推荐用于基于行的复制,更安全且兼容性好。
配置完成后,运行以下命令查看主库当前的二进制日志位置,后续从库配置时会用到:
SHOW MASTER STATUS;
输出示例如下:
+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000003 | 123456 | | | +------------------+----------+--------------+------------------+
记录下 File 和 Position 值,用于从库的 CHANGE MASTER TO 命令。
基本上就这些。只要账号权限正确、网络通、主库日志开启,复制就能顺利建立。不复杂但容易忽略细节,比如防火墙或 server-id 冲突。配置完成后,在从库使用 CHANGE MASTER TO 指定主库地址、账号、密码及日志位置即可启动复制。
以上就是mysql如何配置复制账号权限的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号