嗨,我刚刚创建了一个 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)
最佳答案
您可能正在通过套接字连接。好吧,试试吧
$ mysql -u sukant1 -p
当 shell 询问您密码时,不要输入任何密码,然后您就应该进入了。
但是,我建议您使用以下代码创建用户:
GRANT ALL PRIVILEGES ON *.* TO 'MY_USER'@'localhost' IDENTIFIED BY 'MY_PASS';
[编辑]
发生的情况是,您的表 mysql.user 中有多个与您尝试连接的匹配项。您可以阅读更多关于mysql访问control here 。
要暂时解决您的问题,请使用其他用途登录您的数据库并输入:
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';
现在您应该能够根据需要访问数据库了。但是,话又说回来,这并不是最好的方法。准备好我发送给您的链接并使用更具体的主机名,例如本地主机。
关于java - 使用密码无法连接mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16292776/