MySQL在docker-compose中 - 访问被拒绝

时间:2017-06-16 13:41:14

标签: mysql docker localhost docker-compose access

我尝试使用MySQL启动docker-compose服务器。这是docker-compose.yaml部分:

  mysql:
    restart: always
    image: mysql:latest
    ports:
    - "3306:3306"
    volumes:
    - /Users/user/Documents/.docker/mysql/config:/etc/mysql/
    - /Users/user/Documents/.docker/mysql/data:/var/lib/mysql
    environment:
    - MYSQL_ROOT_PASSWORD='123'
    - MYSQL_ROOT_HOST='172.18.0.1'

您看到我已经指定了root密码和主机,因为它是here。然后我尝试连接到db(如果重要的话,使用Intellij Idea):

jdbc:mysql://localhost:3306/?user=root&password=123&ssl=false

但它不接受凭据并写入日志:

Access denied for user 'root'@'172.18.0.1' (using password: YES)

请告知如何解决它。感谢。

1 个答案:

答案 0 :(得分:6)

当这些目录不同时,你很可能已经初始化了mysql数据目录:

environment:
- MYSQL_ROOT_PASSWORD='123'
- MYSQL_ROOT_HOST='172.18.0.1'

从头开始创建/ var / lib / mysql目录时,MySQL映像仅尊重这些变量。

因此,如果您不关心数据,请清空卷:/Users/user/Documents/.docker/mysql/data,或从mysql终端手动更改凭据。