【问题标题】:failing to connect local Wordpress to SQL Workbench无法将本地 Wordpress 连接到 SQL Workbench
【发布时间】:2021-07-15 14:18:44
【问题描述】:

晕,我正在按照本指南创建本地 Wordpress 设置: https://davidyeiser.com/tutorials/docker-wordpress-theme-setup 效果很好,但现在我正在尝试连接 MYSQLWorkbench,但它永远无法正常工作。

yml 文件:

version: '3'

services:
  db:
    image: mysql:5.7
    volumes:
      - db_data:/var/lib/mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: somewordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:5.1.1-php7.3-apache
    ports:
      - "9210:80"
    restart: always
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress
    working_dir: /var/www/html
    volumes:
      - ./wp-content:/var/www/html/wp-content
      - ./uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
volumes:
  db_data:

码头工人ps:

我的连接尝试如下,

  1. 启动 MySQLWorkbench
  2. CTRL + U(“连接到数据库”)
  3. 用“wordpress”填充所有字段

然后它总是说:

我尝试了不同的密码或端口组合,例如 33060,但无法连接。

知道我缺少什么吗?

【问题讨论】:

    标签: php wordpress docker database-connection mysql-workbench


    【解决方案1】:

    你需要暴露db容器实例的3306端口。

    version: '3'
    
    services:
      db:
        image: mysql:5.7
        ports:
          - "3306:3306" <-- this is the important part here!
        volumes:
          - db_data:/var/lib/mysql
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: somewordpress
          MYSQL_DATABASE: wordpress
          MYSQL_USER: wordpress
          MYSQL_PASSWORD: wordpress
    ...
    

    【讨论】:

    • 非常感谢,它现在可以工作了,仍然有点困惑为什么这个写得很好的指南,添加了一个端口无法连接的服务。
    • 您指向的指南不包括直接从主机连接到 MySQL 服务器。仍然完全可以从其他容器连接到它(例如,在您的情况下,wordpress 容器连接到端口 3306 上的主机 db,如您的 docker-compose.yml 中所述)。
    猜你喜欢
    • 2015-12-30
    • 1970-01-01
    • 2021-12-04
    • 2016-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 1970-01-01
    相关资源
    最近更新 更多