Java 无法使用密码连接到mysql

Java 无法使用密码连接到mysql,java,mysql,jdbc,Java,Mysql,Jdbc,您好,我刚刚创建了一个mysql用户sukant1,密码也是sukant1,但我无法连接它。请参阅下面的 mysql> CREATE USER 'sukant1'@'%' IDENTIFIED BY 'sukant1'; Query OK, 0 rows affected (0.07 sec) mysql> exit Bye [sukanth@SWD11 ~]$ mysql -u sukant1 -p Enter password: ERROR 1045 (28000): A

您好,我刚刚创建了一个mysql用户sukant1,密码也是sukant1,但我无法连接它。请参阅下面的

mysql> CREATE USER 'sukant1'@'%' IDENTIFIED BY 'sukant1';
Query OK, 0 rows affected (0.07 sec)

mysql> exit
Bye


[sukanth@SWD11 ~]$ mysql -u sukant1 -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'sukant1'@'localhost' (using password: YES)

尝试以root用户身份访问mysql…有时并非所有用户都可以访问mysql

su root

[root@SWD11 ~]$ mysql -u sukant1 -p

,但这是不可取的。

您可能是通过套接字连接的。好吧,试试看

$ mysql -u sukant1 -p
当shell询问密码时,不要输入任何密码,这样你就应该进入了

但是,我建议您使用以下代码创建用户:

GRANT ALL PRIVILEGES ON *.* TO 'MY_USER'@'localhost' IDENTIFIED BY 'MY_PASS';
[编辑]

事实上,您的表mysql.user中有多个匹配项与您尝试连接的表相匹配。您可以阅读有关mysql访问的更多信息

要暂时解决您的问题,请使用“其他用途”登录数据库并键入:

SELECT user, host FROM mysql.user order by user;
您可能会看到类似的内容:

+------------------+-------------+
| user             | host        |
+------------------+-------------+
|                  | localhost   |
| sukant1          | %           |
| sukant1          | localhost   |
| root             | localhost   |
+------------------+-------------+
现在,删除用户:

delete from mysql.user where user = '' and host = 'localhost';
delete from mysql.user where user = 'sukant1' and host = 'localhost';

现在,您应该能够根据需要访问数据库。但是,话说回来,这并不是最好的方法。准备好我发送给您的链接,并使用更具体的主机名,例如localhost。

您输入的密码是什么?@NoobUnChained sukant1,与我创建时的相同[sukanth@SWD11~]$su根密码:[root@SWD11sukanth]#mysql-u sukant1-p输入密码:错误1045(28000):用户'sukant1'@'localhost'的访问被拒绝(使用密码:是)[root@SWD11苏坎特]#感谢您的回答,请看我创建了另一个用户测试和密码测试,这一次也不起作用。我认为这不是连接到mysql的方式,否则不会在所有用户中出现错误。非常需要您的回答请看在我的系统中只安装了mysql,而其他系统没有mysql。因此我使用“%”而不是localhost.希望你已经理解我的要求再次检查答案。谢谢你漂亮的答案,但我已经解决了。再次感谢你为我的工作抽出宝贵的时间problem@javaL:多个sukant1条目不是您的问题吗?@Costis Aivalis当我尝试在mysql admin中连接时,出现了问题,但当我尝试时用java连接,问题就解决了,而且我只想用jdbc连接mysql,用jdbc操作