我无法使mysql和phpmyadmin与Laradock一起使用,在此建议所有选项

时间:2019-04-23 15:49:40

标签: mysql laravel-5.7 laradock

enter image description here我尝试了几种选择,并且与用Laradock设置mysql连接非常困惑。 我将mysql版本交替更改为5.7和5.6,仍然收到错误。

每次收到

Illuminate\Database\QueryException  : SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = api and table_name = migrations)

Laravel项目.env

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3310
DB_DATABASE=api
DB_USERNAME=root
DB_PASSWORD=root

Laradock .env

### MYSQL #################################################

MYSQL_VERSION=latest
MYSQL_DATABASE=api
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_PORT=3310
MYSQL_ROOT_PASSWORD=root
MYSQL_ENTRYPOINT_INITDB=./mysql/docker-entrypoint-initdb.d

docker-compose.yml

### MySQL ################################################
    mysql:
      build:
        context: ./mysql
        args:
          - MYSQL_VERSION=${MYSQL_VERSION}
      environment:
        - MYSQL_DATABASE=${MYSQL_DATABASE}
        - MYSQL_USER=${MYSQL_USER}
        - MYSQL_PASSWORD=${MYSQL_PASSWORD}
        - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
        - TZ=${WORKSPACE_TIMEZONE}
      volumes:
        - ${DATA_PATH_HOST}/mysql:/var/lib/mysql
        - ${MYSQL_ENTRYPOINT_INITDB}:/docker-entrypoint-initdb.d
      ports:
        - "${MYSQL_PORT}:3310"
      networks:
        - backend

由于抱怨已经分配了端口,我不得不将端口从3306更改为3310

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

我能够找出问题所在。帮助可能遇到这种丑陋现象的任何人。 首先,我已经在版本8.0的端口3306上运行MySQL,并尝试运行 docker-compose up -d mysql ,它标记了一个错误,因此我决定将docker-port上的端口更改为3310。 compose.yml和Laradock .env,并在项目.env中保留3306。而且效果很好。我试图登录到mysql控制台以读取端口。我在.env和phpmyadmin上将DB_HOST更改为mysql-在端口8080上,server = mysql。