Docker环境下无法登录phpMyAdmin的问题求助
解决phpMyAdmin无法登录Docker MySQL容器的问题
问题核心在于MySQL的用户权限是基于请求来源主机的:你修改的是root'@'localhost的密码,但phpMyAdmin通过容器链接(别名db)访问MySQL时,请求并非来自MySQL容器内的localhost,而是外部容器,因此该用户权限无法匹配登录请求。
修复步骤:
重新进入MySQL容器:
docker exec -it ce9a316046f0 mysql -uroot -p输入你之前设置的
mysql-password完成登录。在MySQL命令行中执行以下任一方案:
- 方案一(测试环境适用):修改允许所有主机访问的root用户密码
ALTER USER 'root'@'%' IDENTIFIED BY 'mysql-password'; - 方案二(更安全):创建仅允许从phpMyAdmin容器(链接别名
db)访问的root用户CREATE USER 'root'@'db' IDENTIFIED BY 'mysql-password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'db' WITH GRANT OPTION;
- 方案一(测试环境适用):修改允许所有主机访问的root用户密码
刷新权限使修改立即生效:
FLUSH PRIVILEGES;退出MySQL命令行后,重启phpMyAdmin容器确保配置生效:
docker restart phpmyadmin
完成以上操作后,使用root和mysql-password即可正常登录localhost:8080的phpMyAdmin。
内容的提问来源于stack exchange,提问作者NovaBrownie
相关产品推荐
相关产品推荐

