java - 使用密码无法连接mysql

标签 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): 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/

相关文章:

java - 我无法为 MySQL 加载 JDBC 驱动程序

java - 如何从java将数据CLOB和BLOB类型发送到数据库

当我创建对象的新实例作为键时,Java HashMap.get() 返回 null

mysql - 触发器不适用于 MySql

java - HTTP 响应与请求有何关系?

php - 从 MySQL 查询构建多维 PHP 数组

mysql - 设计具有循环引用的关系数据库

java - 关闭liferay portlet中的jdbc资源

java - java中的FTP apache commons进度条

java - 从 Java 中的 xml 元素读取 CDATA 时出现错误