MySQL:用户'userName'@'localhost'的访问被拒绝

Posted

技术标签:

【中文标题】MySQL:用户\'userName\'@\'localhost\'的访问被拒绝【英文标题】:MySQL: Access denied for user 'userName'@'localhost'MySQL:用户'userName'@'localhost'的访问被拒绝 【发布时间】:2015-01-31 21:09:42 【问题描述】:

我在使用 phpMyAdmin 创建和授予用户权限时遇到问题。我有一个 Java swing 应用程序,它需要连接到这个数据库。

我如何创建用户并授予权限如下,一步一步。

    打开 phpMyAdmin 转到“用户”标签。 点击Add New User 提供用户名,选择Any Host 作为主机(因此 % 会显示在其文本框中),并提及密码。 Any host 是因为需要远程访问。 在Global Privileges 下选择Select - Data 点击Go 现在我又回到了Users 标签页的起始页。 在我新创建的用户上单击Edit Privileges。 选择Database-specific privileges下的数据库 勾选Database-specific privilegesData 部分下的所有内容。 点击Go

现在,每当我的 Java 应用程序连接到它时,它都会给出以下错误

java.sql.SQLException: Access denied for user 'userName'@'localhost' (using password: YES)

这是我在 Java 应用程序中连接数据库的方式

con = DriverManager.getConnection("jdbc:mysql://"+ip+":3306/databaseName","user","password");

在这里,对于变量ip,我尝试了localhost127.0.0.1,但仍然不行。我做错了什么?

我注意到,如果我在第 4 步中选择 Localhost 而不是 Any Host,则连接工作正常。

【问题讨论】:

【参考方案1】: 创建用户之后。 点击编辑权限。 将任何主机更改为 Localhost。 应用您的权限。 滚动到底部并 确保选中“keep old one”,然后按 Go。

【讨论】:

不,就是这样。 Any Host 不包括 Localhost。 好的。想象一下我通过 *** 远程连接,在这种情况下,它会工作吗?我的意思是Any Host 的东西? 是的。您将有两个用户,一个用于远程工作的 Any Host,另一个用于 Localhost。【参考方案2】:

你需要给mysql中的userName@localhost授予权限。

GRANT ALL PRIVILEGES ON database_name TO userName@localhost IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

【讨论】:

【参考方案3】:

有时,mysql 服务器无法从本地连接中获取 'localhost',您应该尝试一下:

GRANT ALL PRIVILEGES ON database_name TO 'userName'@'theHostName' IDENTIFIED BY 'password';

或者以更冒险的方式:

GRANT ALL PRIVILEGES ON database_name TO 'userName'@'%' IDENTIFIED BY 'password';

最后

FLUSH PRIVILEGES;

【讨论】:

【参考方案4】:

您是否为 phpmyadmin 设置了任何密码。如果是,请将其包含在密码字段中。或者您可以尝试喜欢这个

con = DriverManager.getConnection("jdbc:mysql://"+ip+":3306/databaseName","localhost","");

【讨论】:

JDBC 获取用户的密码,而不是 PHPMyAdmin 对吗?当然用户必须使用他的用户名和密码登录。

以上是关于MySQL:用户'userName'@'localhost'的访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

MySQL:用户'userName'@'localhost'的访问被拒绝

mysql默认密码是多少

mysql8.0用户操作和授权

mysql定时备份

mysql定时备份

Mysql创建新用户后无法登录,提示 Access denied for user 'username'@'localhost' (using password: YE