phpMyAdmin 5.1 无法在图形界面创建复制账号,因其“用户账户”页仅管理 mysql.user 表登录凭据,不自动授予 REPLICATION SLAVE 权限、不处理 mysql_native_password 认证兼容性,且默认仅赋予 USAGE 权限,导致 START REPLICA 报错 ERROR 1227;必须通过 SQL 标签页或命令行执行 CREATE USER(指定认证插件)、GRANT REPLICATION SLAVE、FLUSH PRIVILEGES 三步操作,并确保 host 精确匹配从库 IP 或域名,必要时添加 REQUIRE SSL。

phpMyAdmin 5.1 本身不参与复制账号创建,必须在 MySQL 命令行或 SQL 标签页中执行 GRANT 语句,且账号权限、认证方式、host 范围三者缺一不可。
为什么不能在 phpMyAdmin 图形界面里建复制账号
phpMyAdmin 的「用户账户」页面只管理 mysql.user 表的登录凭据,它不会自动附加 REPLICATION SLAVE 权限,也不会处理 mysql_native_password 认证兼容性问题。你点「添加用户」填完用户名密码后,账号默认只有 USAGE 权限,START REPLICA 会直接报错 ERROR 1227 (42501): Access denied。
- 图形界面创建的账号,权限字段全为空,不等于“无权限”,而是“仅允许连接”
- MySQL 8.0+ 默认用
caching_sha2_password,phpMyAdmin 5.1 连不上,必须显式指定认证插件 - 从库连接主库时,主库上该账号的
Host必须匹配从库发起连接的实际 IP(不是localhost)
必须执行的三条 GRANT 命令
在 phpMyAdmin 的「SQL」标签页,或主库命令行中逐条运行(替换 repl_user 和 your_password):
CREATE USER 'repl_user'@'192.168.1.100' IDENTIFIED WITH mysql_native_password BY 'your_password'; GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'192.168.1.100'; FLUSH PRIVILEGES;
-
CREATE USER必须带IDENTIFIED WITH mysql_native_password,否则 phpMyAdmin 5.1 连接失败 -
GRANT REPLICATION SLAVE是唯一必需权限,REPLICATION CLIENT只用于监控,不参与数据拉取 - host 写具体 IP(如
192.168.1.100),别用%——若主库启用了require_secure_transport=ON,%会被拒绝
验证账号是否真能用于复制
建完账号后,立刻在从库上测试能否连通并获取 binlog 位置:
立即学习“PHP免费学习笔记(深入)”;
mysql -h 192.168.1.50 -u repl_user -p -e "SHOW MASTER STATUS;"
- 如果报
ERROR 1045 (28000):认证插件或密码错;报ERROR 1227:权限没生效,重跑FLUSH PRIVILEGES - 如果报
ERROR 2003:网络不通,或主库bind_address没监听该 IP 所在网卡 - 成功返回
File和Position,说明账号可用,可继续配置CHANGE REPLICATION SOURCE TO
容易被忽略的 host 和 SSL 细节
从库连接字符串里的 SOURCE_HOST 和账号的 Host 值必须逻辑一致,但不强制完全相同:
- 若从库用
SOURCE_HOST = 'host.docker.internal'连主库,主库账号就得是'repl_user'@'host.docker.internal'或对应解析后的 IP - 若主库强制 SSL(
require_secure_transport=ON),账号必须额外加REQUIRE SSL,且从库CHANGE REPLICATION SOURCE TO得带上SOURCE_SSL=1 - 账号一旦建错,删掉重来比修更安全:
DROP USER 'repl_user'@'192.168.1.100';,MySQL 不支持ALTER USER ... REQUIRE NONE清除 SSL 限制
真正起作用的是 MySQL 服务端对账号的校验逻辑,phpMyAdmin 只是传话筒。建号这一步漏掉任何一项,后续所有复制配置都会卡在连接阶段,而不是状态页显示「Connecting」就以为快成了。



















