当前位置: 首页 > 知识库问答 >
问题:

无法使用JDBC连接到MariaDB,mysql实用程序成功

石苏燕
2023-03-14

我使用JDBC和spring boot 2.2.2连接到一个MariaDB实例。登录失败,出现以下消息

原因:java.sql.sqlInvalidAuthorizationSpecException:无法连接到Address=(Host=Server.Company.Domain)(端口=3306)(类型=Master):拒绝用户“user”@“Server.Company.Domain”(使用密码:YES)的访问

当我运行mysqldump-u“user”-p“password”-h server.company.domain dbname时,这个操作非常好!

  • 转储和spring boot应用程序都从同一台计算机(数据库服务器本身)运行
  • 使用的用户和密码相同
  • 密码或用户中没有特殊字符(只有小写/大写字符和数字)
  • jdbc连接字符串如下所示:jdbc:mariadb:/server.company.domain:3306/dbname
  • 我已经尝试使用localhost而不是服务器名称
  • 当我更改jdbc url、用户和密码时,同一个应用程序可以登录到我的开发mariadb

共有1个答案

卫皓
2023-03-14

看来你和MariaDB有麻烦,而不是spring靴本身。我建议您访问以下链接:https://mariadb.com/kb/en/configuring-mariadb-for-remote-client-access/,如果它没有解决您的问题,请再来查看您尝试过的方法和没有成功的方法。

 类似资料:
  • 我创建了一个简单的类来测试与我的localhost数据库的通信,这是我用Mysql Workbench创建的。Mysql服务器正在运行。JDBC驱动程序被添加到我的项目的类路径中。 当我运行程序时,我得到以下异常: 线程“main”com.mysql.cj.jdbc.Exceptions.CommunicationsException异常:通信链接失败 最后一个成功发送到服务器的数据包是在0毫秒前

  • 我使用的是Java8、Spark 2.1.1、Ignite2.5和BoneCP 0.8.0 结果出现以下异常: 提交脚本如下所示: 当使用“本地”Spark实例时,它使用think JDBC驱动程序连接到Ignite。有什么想法吗?

  • 我们有一个使用Oracle 19.3数据库运行的项目,以及一个使用Oracle 19.3 JDBC驱动程序(在Maven Central上可用)的Java应用程序。在带有JRE1.8的Windows上,一切都很好,但当我运行在构建服务器上或在带有OpenJDK11.0.3的WSL Ubuntu中时,它拒绝连接到数据库。具体地说: 如果切换到18.3JDBC驱动程序,在这两种环境中一切都很好;如果我

  • 我将DataGrip配置为使用spark安装文件夹中的JDBC库。

  • 免责声明:我知道人们通常不会这样做,我使用SQL数据库是出于成本原因,而且我对编程比较陌生。 我正在尝试从我的Android Studio应用程序向我的MariaDB数据库发送SQL脚本。我目前正在为MariaDB实现一个Java数据库连接(JDBC)驱动程序,但我不确定需要包括什么。 我去了JDBC MariaDB驱动程序的下载网站,但是有很多jar文件,我可以选择下载。你怎么知道你需要哪一个,

  • 我试图连接到端口3306上的MariaDb的localhost实例。我很清楚root不能使用localhost,因为MariaDb规范,所以我从命令行创建了另一个用户,密码为root和授予我的测试数据库的所有权限: 当我尝试使用正确的密码和用户名从DBeaver打开连接时,会出现一个错误: 拒绝用户“myuser”@“localhost”(使用密码:是)的访问当前字符集为windows-1251。