You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress Docker容器无法连接MySQL数据库问题咨询

Docker部署WordPress数据库连接问题排查解决方案

核心错误修正

你当前的启动命令存在3处关键配置错误,首先按如下要求修正:

  • 变量命名错误:WordPress官方镜像的数据库配置变量前缀为WORDPRESS_DB_,你使用的MYSQL_前缀变量无法被WordPress识别
  • 数据库地址配置错误:同Docker网络内的容器通信使用内部服务端口,MySQL容器内部端口为3306,不需要使用宿主机映射的90端口,且数据库地址对应的变量为WORDPRESS_DB_HOST,你使用的WORDPRESS_HOST为无效变量
  • 冗余配置:已指定自定义网络的情况下,--link db参数不需要额外配置

修正后启动步骤

先删除原有错误启动的容器:

docker rm -f db wp-site1

重新启动MySQL容器(原MySQL启动命令无错误,可保留,若后续遇到认证插件问题可添加参数-e MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password):

docker run --name db \
   -p 90:3306 \
   --restart=always \
   --network wp-mysql-network \
   -e MYSQL_ROOT_PASSWORD=root \
   -e MYSQL_DATABASE=wordpress \
   -e MYSQL_USER=wpuser \
   -e MYSQL_PASSWORD=P@ssw0rd \
   -v mysql-demo3:/var/lib/mysql \
   -d mysql:latest

等待10秒左右待MySQL初始化完成,启动修正配置后的WordPress容器:

docker run --name wp-site1 \
   -d \
   -p 85:80 \
   --network wp-mysql-network \
   -e WORDPRESS_DB_HOST=db:3306 \
   -e WORDPRESS_DB_NAME=wordpress \
   -e WORDPRESS_DB_USER=wpuser \
   -e WORDPRESS_DB_PASSWORD=P@ssw0rd \
   -v wp-data-demo3:/var/www/html \
   wordpress:latest

后续异常排查步骤

如果修正配置后仍无法连接数据库,按如下顺序排查:

  • 检查容器运行状态:执行docker ps确认两个容器状态均为Up,若有容器异常退出,查看对应日志定位错误:
    查看MySQL日志:docker logs db
    查看WordPress日志:docker logs wp-site1
  • 验证网络连通性:执行docker exec -it wp-site1 ping db,若无法ping通,检查自定义网络是否存在,执行docker network ls确认有wp-mysql-network,若不存在先执行docker network create wp-mysql-network创建网络
  • 验证数据库账号有效性:执行docker exec -it db mysql -u wpuser -pP@ssw0rd wordpress,若无法正常登录,说明数据库初始化异常,可删除旧存储卷重新初始化:docker volume rm mysql-demo3 wp-data-demo3(操作会清空所有已存数据)
  • 认证插件兼容问题:若日志提示caching_sha2_password相关报错,在MySQL启动命令中添加-e MYSQL_DEFAULT_AUTHENTICATION_PLUGIN=mysql_native_password参数,删除旧存储卷后重新启动容器即可。

内容的提问来源于stack exchange,提问作者vivekchopra91

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:36:03