docker重新组合后,Phpmyadmin和mysql连接失败



这是我的docker-compose.yml文件,用于启动PMA和mysql:

version: '3.8'
services:

mysql_db:
image: mysql:8.0.28
ports:
- "64121:3306"
environment:
- MYSQL_ROOT_PASSWORD=rootsecretpassword
- MYSQL_DATABASE=dbname
- MYSQL_USER=db-username
- MYSQL_PASSWORD=db-password
volumes:
- mysql_data:/var/lib/mysql
phpmyadmin:
image: phpmyadmin/phpmyadmin:5.1.2
ports:
- "64122:80"
environment:
- MAX_EXECUTION_TIME=600 
- UPLOAD_LIMIT=800M
- PMA_HOST=mysql_db
- PMA_PORT=3306
- PMA_ARBITRARY=1
depends_on:
- mysql_db

volumes:
mysql_data:

docker-compose up --build

然后,我可以访问localhost:64122查看PMA(phpmyadmin(,我可以使用凭据登录,一切都很好,运行docker-compose downdocker-compose up --build后,我无法登录到PMA,它显示:

Cannot log in to the MySQL server
mysqli::real_connect(): (HY000/1130): Host 'SOME IP ADRESS' is not allowed to connect to this MySQL server

那么,在docker中的downup期间发生了什么,导致了这个错误呢?

默认情况下,数据库用户只能从本地主机连接

SELECT host FROM mysql.user WHERE user = "db-username";

更新表:

GRANT ALL ON dbname.* to 'db-username'@'%' IDENTIFIED BY 'db-password';
FLUSH PRIVILEGES;
SELECT host FROM mysql.user WHERE user = "db-username";

最新更新