You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下Spring Boot连接MariaDB报Access denied问题求助

解决Spring Boot连接MariaDB(MacOS)的权限问题

你遇到的核心错误:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource
...
Caused by: liquibase.exception.DatabaseException: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)

结合Windows正常、MacOS异常,且无法修改properties文件的情况,试试以下针对性解决方法:

  • 检查MariaDB root用户的认证插件
    MacOS下MariaDB默认可能采用unix_socket认证插件(依赖系统用户权限登录,无需密码),而你的应用通过TCP/IP(127.0.0.1)连接时,这种认证方式会导致密码验证失败。

    1. 用sudo直接登录MariaDB:sudo mysql -u root
    2. 查询当前root用户的认证插件:
      SELECT user, host, plugin FROM mysql.user WHERE user='root';
      
    3. 如果plugin字段是unix_socket,修改为密码认证:
      -- 替换为dbkey.txt中的密码,若为空密码则写''
      ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的dbkey密码';
      FLUSH PRIVILEGES;
      
  • 验证dbkey.txt的路径与权限
    MacOS对文件路径大小写敏感,且权限管控更严格:

    1. 确认../../config/local/dbkey.txt的相对路径是相对于应用启动的工作目录(可在启动脚本中加入pwd命令打印当前目录)
    2. 调整文件权限,确保应用进程能读取:chmod 644 /完整路径/dbkey.txt
    3. 打开dbkey.txt确认内容,避免存在多余换行符或空格(MacOS与Windows换行符不同,可能导致读取的密码带无效字符)
  • 检查MariaDB的TCP连接配置
    确认MariaDB允许TCP连接:

    1. 找到MacOS上的MariaDB配置文件(通常在/usr/local/etc/my.cnf或/etc/my.cnf)
    2. 确保bind-address设置为127.0.0.1或0.0.0.0(允许本地TCP连接)
    3. 确认skip-networking被注释掉(开启该选项会禁用TCP连接,仅支持本地socket)
  • 直接测试数据库连接
    用mysql客户端模拟应用的连接方式,排查是否为数据库端问题:

    mysql -u root -p -h 127.0.0.1 -P 3306 local02
    

    输入dbkey.txt中的密码,若连接失败,说明是数据库配置问题;若成功,再排查应用读取密码的逻辑是否异常。

  • 替换JDBC驱动(可选)
    你当前使用的com.mysql.jdbc.Driver是旧版MySQL驱动,MariaDB官方推荐使用org.mariadb.jdbc.Driver,MacOS可能存在兼容性问题。如果可以修改依赖(如pom.xml/build.gradle),替换为MariaDB官方驱动:

    <!-- Maven示例 -->
    <dependency>
        <groupId>org.mariadb.jdbc</groupId>
        <artifactId>mariadb-java-client</artifactId>
        <version>最新稳定版本</version>
    </dependency>
    

内容的提问来源于stack exchange,提问作者WebStormer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 20:27:49