我正在尝试使用 jdbc 连接字符串从我的 war 文件建立 mysql 数据库连接,如下所示:-
String connectionURL = "jdbc:mysql://localhost:3306/DatabaseName? user=DatabaseUserName;password=DatabasePassword";
现在我的 war 文件和数据库都可以在服务器上使用,并且我正在从服务器本身执行我的操作。但问题是我遇到了以下错误:-
INFO: java.sql.SQLException: Access denied for user 'grandsho_root;password=pwd'@'localhost' (using password: NO)
哪里
grandsho_root 是我的用户,pwd 是我的密码...我需要知道这个问题到底是什么?我需要执行 GRANT ALL 命令吗?或者类似的东西?
最佳答案
当您收到消息“(使用密码:否)”时,这意味着您尝试在未设置密码的情况下进行连接。日志消息告诉您不允许用户“grandsho_root;password=pwd”连接。这意味着您的连接字符串是错误的,因为您使用了 ;来分隔参数而不是 &。连接字符串应如下所示:
jdbc:mysql://localhost:3306/DatabaseName?user=sqluser&password=sqluserpw
如果仍有问题,请检查您的用户设置是否正确。检查 grandsho_root 是否设置了密码,是否允许他从本地主机连接,并且您已授予架构所需的权限。
另请查看 MySQL 文档 here
关于java - 数据库访问拒绝连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18396504/