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

awf*_*fun 2 mysql localhost docker 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'
Run Code Online (Sandbox Code Playgroud)

你看我已经指定了root密码和主机,就像这里所说的那样.然后我尝试连接到db(如果重要的话,使用Intellij Idea):

jdbc:mysql://localhost:3306/?user=root&password=123&ssl=false
Run Code Online (Sandbox Code Playgroud)

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

Access denied for user 'root'@'172.18.0.1' (using password: YES)
Run Code Online (Sandbox Code Playgroud)

请告知如何解决它.谢谢.

Rob*_*ert 7

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

environment:
- MYSQL_ROOT_PASSWORD='123'
- MYSQL_ROOT_HOST='172.18.0.1'
Run Code Online (Sandbox Code Playgroud)

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

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

  • 谢谢,你是对的,这些不是初始设置。清除持久性目录有帮助。 (2认同)