首页 >Java >java教程 >为什么我在连接 MySQL 时收到'java.sql.SQLException: Access Denied”错误?

为什么我在连接 MySQL 时收到'java.sql.SQLException: Access Denied”错误?

DDD
DDD原创
2024-10-25 03:19:02394浏览

Why Am I Getting a

用户权限不足访问MySQL:解决“java.sql.SQLException: Access Denied”

遇到异常“java.sql.SQLException: Access Denied”

通过 Java 连接到 MySQL 数据库时出现“SQLException:访问被拒绝”可能会令人沮丧。此错误通常表明尝试连接的用户缺乏访问数据库的适当权限。
<code class="java">Connection m_connection = DriverManager.getConnection("jdbc:mysql://localhost", "root", "root");</code>

在您的情况下,异常是由以下代码片段引起的:

代码尝试使用“root”用户和“root”密码建立与本地主机上运行的 MySQL 数据库的连接。但是,该错误表明这些凭据没有访问数据库所需的权限。
<code class="sql">GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY '%password%' WITH GRANT OPTION;</code>

要解决此问题,您必须向尝试连接的用户授予适当的权限。在 MySQL 中,可以通过执行以下查询来实现:

记住将“%password%”替换为您的实际 MySQL 密码。

执行此查询后,您应该能够使用“root”用户和指定的密码成功连接到 MySQL 数据库。
<code class="java">Connection conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/?user=root&password=rootpassword"); </code>

或者,在您的第二个代码片段中:

您正在使用不同的方法将用户和密码包含在连接 URL 本身中。虽然这种方法很方便,但通常不太安全,因为它以纯文本形式公开密码。始终建议使用配置文件或其他安全机制来存储数据库凭据,而不是将它们直接嵌入到您的代码或连接 URL。

以上是为什么我在连接 MySQL 时收到'java.sql.SQLException: Access Denied”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn