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

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

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

  1. 打开 phpMyAdmin
  2. 转到“用户”标签。
  3. 点击Add New User
  4. 提供用户名,选择Any Host 作为主机(因此 % 会显示在其文本框中),并提及密码。 Any host 是因为需要远程访问。
  5. Global Privileges 下选择Select - Data
  6. 点击Go
  7. 现在我又回到了Users 标签页的起始页。
  8. 在我新创建的用户上单击Edit Privileges
  9. 选择Database-specific privileges下的数据库
  10. 勾选Database-specific privilegesData 部分下的所有内容。
  11. 点击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,则连接工作正常。

【问题讨论】:

    标签: java mysql database jdbc phpmyadmin


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

    【讨论】:

    • 不,就是这样。 Any Host 不包括 Localhost。
    • 好的。想象一下我通过 VPN 远程连接,在这种情况下,它会工作吗?我的意思是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 对吗?当然用户必须使用他的用户名和密码登录。
        猜你喜欢
        • 1970-01-01
        • 2013-08-22
        • 1970-01-01
        • 2017-01-05
        • 2012-08-02
        • 1970-01-01
        • 2020-11-13
        • 2020-02-04
        • 2019-07-16
        相关资源
        最近更新 更多