DBMS:MySQL(无版本)区分大小写:plain=mixed,delimited=exact连接被拒绝

y53ybaqx  于 2023-04-05  发布在  Mysql
关注(0)|答案(1)|浏览(4392)

无法在mac m1上使用IntelliJ连接到数据库。
我用Homebrew安装了MySQL,我可以通过终端访问MySQL,我不知道我做错了什么。
我试过重新安装,更改密码,重新启动我的机器。但没有希望
DBMS:MySQL(无版本)区分大小写:plain=mixed,delimited=exact连接被拒绝

vecaoik1

vecaoik11#

如果您在使用Docker时遇到MySQL数据库问题,则问题可能是由docker-compose.yaml文件中的MYSQL_USER=root条目引起的。该条目定义了数据库环境的用户,并可能为root用户创建冲突。

db:
        image: mysql:8.0
        ports:
          - "3306:3306"
        environment:
          - MYSQL_ROOT_HOSTS=%
          - MYSQL_DATABASE=spring_boot_mysql
          - MYSQL_USER=root
          - MYSQL_ALLOW_EMPTY_PASSWORD=1
        volumes:
          - ./docker/volume_mysql:/var/lib/mysql

若要解决此问题,您应删除MYSQL_USER=root条目,并改用以下选项之一来管理root用户密码:
根密码允许空密码随机根密码
在我寻找解决方案的过程中,我发现Docker日志提供了一条有用的错误消息:

  • [ERROR] [Entrypoint]:MYSQL_USER=“root”、MYSQL_USER和MYSQL_PASSWORD用于配置普通用户,不能用于root用户。*

通过从docker-compose.yaml文件中删除MYSQL_USER=root,问题得到解决,数据库连接成功建立。
以下是最终的数据库定义:

db:
        image: mysql:8.0
        ports:
          - "3306:3306"
        environment:
          - MYSQL_ROOT_HOSTS=%
          - MYSQL_DATABASE=spring_boot_mysql
          - MYSQL_ALLOW_EMPTY_PASSWORD=1
        volumes:
          - ./docker/volume_mysql:/var/lib/mysql

我希望这些信息可以帮助您解决您的问题。

相关问题