gpt4 book ai didi

Java 数据库 mySQL 访问被拒绝

转载 作者:搜寻专家 更新时间:2023-10-30 22:12:48 29 4
gpt4 key购买 nike

所以我正在尝试连接到我的数据库并显示表中的一个项目。我得到的错误是: SQL Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Access denied for user 'Bob'@'%' to database 'TEST'

连接是否正确,如果是,是否是凭据错误的错误?如果他们错了,它是如何连接的?谢谢

try 
{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://THISISTHEHOSTNAME";
String username = "Bob";
String password = "password";
Connection connection = DriverManager.getConnection(url, username, password);
Statement stmt = null;
ResultSet rs = null;
//SQL query command
String SQL = "SELECT * FROM TEST";
stmt = connection.createStatement();
rs = stmt.executeQuery(SQL);
while (rs.next())
{
System.out.println(rs.getString("ProductName") + " : " + rs.getString("UnitPrice"));
}
}
catch (SQLException e)
{
System.out.println("SQL Exception: "+ e.toString());
}
catch (ClassNotFoundException cE)
{
System.out.println("Class Not Found Exception: "+ cE.toString());
}

最佳答案

您需要为连接到 mysql 数据库的用户授予适当的权限。

您收到的消息通知您,虽然您的用户能够连接到数据库服务器,但不允许访问数据库 TEST。

在 mysql 控制台中运行以下命令将授予此类访问权限:

GRANT ALL ON TEST.* TO 'BOB'@'%'

这是非常宽松的,您应该记住,数据库用户应该拥有尽可能少的权限,并且仅限于最小范围的主机。

关于Java 数据库 mySQL 访问被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21264767/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com