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

15 篇文章 0 订阅
9 篇文章 0 订阅

在网上先找了一些办法:

 

 

  1. C:\>mysql -u root -p   
  2. Enter password: ******   
  3. Welcome to the MySQL monitor.  Commands end with ; or \g.   
  4. Your MySQL connection id is 2   
  5. Server version: 5.1.22-rc-community-log MySQL Community Server (GPL)   
  6.  
  7. Type 'help;' or '\h' for help. Type '\c' to clear the buffer.   
  8.  
  9. mysql> grant all privileges on *.* to 'username'@'%' identified  by'password';   
  10. Query OK, 0 rows affected (0.05 sec)   
  11.  
  12. mysql> flush privileges;   
  13. Query OK, 0 rows affected (0.06 sec)   
  14.  
  15. mysql> exit   
  16. Bye   
C:\>mysql -u root -p  
Enter password: ******  
Welcome to the MySQL monitor.  Commands end with ; or \g.  
Your MySQL connection id is 2  
Server version: 5.1.22-rc-community-log MySQL Community Server (GPL)  

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.  

mysql> grant all privileges on *.* to 'username'@'%' identified  by'password';  
Query OK, 0 rows affected (0.05 sec)  

mysql> flush privileges;  
Query OK, 0 rows affected (0.06 sec)  

mysql> exit  
Bye  


更好的解决还是更改用户名,不要用root为善。

错误代码 1045
Access denied for user 'root'@'localhost' (using password:YES)

如果你的mysql也出现以上这种提示, 建议你逐个字看完我这篇文章再按以下方法来尝试解决问题.

这是mysql数据库很多时候出现的问题, 网上流传很多解决办法. 有人按照那些方法, 还真可以把问题解决了; 但也有很多人按那些方法解决不了问题! 而这个中原因, 就是没有对症下药!!!

网上的那些方法, 很多都没有明确指出是什么版本的mysql, 所以导致问题者不能对症下药.

出现这个问题, 通过停止/重启 mysql 服务, 是可以解决的, 这个是最简单的办法! 对于不懂得什么叫做"停止/重启mysql服务"的人来说, 这个最简单的办法就是把服务器主机进行重新启动(就是把你的电脑进行重新启动).

以上是方法A! (这个方法适合任何版本的mysql)

以下是方法B:(方法仅适用于MySQL4.0.26 版本!!! (我估计, 4.0的其他版本应该也可以的))

网上也有说, 就是对root进行重改密码. 对于网上流传的改密码方法, 也是可行的. 请参考以下:

DOS下修改ROOT密码:当然后面安装PHPMYADMIN后修改密码也可以通过PHPMYADMIN修改

格式:mysqladmin -u用户名 -p旧密码 password 新密码

例:给root加个密码ideacmblog

首先在进入CMD命令行,转到MYSQL目录下的bin目录,然后键入以下命令

mysqladmin -uroot password ideacmblog

注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

D:\php\MySQL\bin>mysqladmin -uroot password ideacmblog回车后ROOT密码就设置为ideacmblog了

但是, 请注意了, 以上方法仅适用于MySQL4.0.26 版本!!! (我估计, 4.0的其他版本应该也可以的)

方法C:

好了, 扯了那么多, 以上的两个方法都不是我本人测试过的, 本人不对真实性负责!

而现在我说一下本人亲自试过的方法, 以供参考:

话说今天, 我的服务器所有php及使用了mysql数据库的网站, 均挂掉了! 无法打开, 并有以下提示:

错误代码 1045
Access denied for user 'root'@'localhost' (using password:YES)

一开始我也是不断搜索google(我本人不喜欢百度!), 去找寻解决的办法. 看了很多, 也参照执行了, 事实上也是解决不了问题. 后来我想到了是版本的问题, 不同的mysql版本, 解决办法是不一定一样的!!记住...

我的mysql版本是: 5.0.22 (mysql-essential-5.0.22-win32)

今天一整天, 那些php网站均罢工. 到今晚才有时间上去服务器继续寻找方法, 但仍然解决不了.

最后, 我决定把mysql卸掉重新安装!

卸载很快, 而且不需要重新启动计算机.

于是, 继续进行安装.

第一步: 打开这个mysql-essential-5.0.22-win32.exe文件;

第二步: 见到窗口弹出, 并点击 Next> 进入下一步;

第三步: 选择 Custom 项, 并点击 Next> 进入下一步;

第四步: 到这一步要注意了, 点击 Change... 选择你原安装mysql的目录; 选择后, 继续点击Next> 进入下一步;

第五步: 点击 Install 进行安装...

安装至下一步, 会提示你进行注册, 选择最后一项, 即跳过注册, 进入下一步正式完成安装.

安装完成后, 继续弹出一个窗口, 提示你是不是立刻进行配置, 选择 Next

选择Standard Configuration.继续点击 Next 进入下一步

这一步里, 把上面那行的勾去掉, 只在 Include ....PATH 那行打勾, 继续点击 Next 进入下一步

在这一步, 点击中间的"Ex****"那顶, 接着配置完毕!

这时候, 你去看看你的mysql正常了没有?? !!

这样就ok了!!!

 

 

几个可能:
1. 用户名、密码错误,所以无法访问
2. 数据库端设置了IP访问权限,不能用localhost访问。换成具体的IP地址试试。
3. 数据库端设置了相关操作权限,该用户没有create权限。

 

 

其实呢,这个可能是因为没有注意到安装mysql的时候,没有设置一些密码:

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:

/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h istore01 password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

 

只要将红色部分执行一下就好了,也就是重新设置一下密码,在网上找了很多办法 ,都不管用,看来以后安装软件的时候不是仔细点比较好

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) 是一个常见的数据库连接错误,表示用户'root'在本地主机上使用了错误的密码进行连接。 解决这个问题的方法有以下几种: 1. 确保用户名和密码正确:首先,确保你使用的用户名和密码是正确的。检查你的数据库配置文件或者数据库管理工具中的用户名和密码是否与你尝试连接的数据库一致。 2. 检查数据库权限:如果用户名和密码是正确的,但仍然无法连接数据库,可能是因为该用户没有足够的权限访问数据库。请确保该用户具有正确的权限,包括连接数据库和执行所需的操作。 3. 检查数据库连接字符串:检查你的数据库连接字符串是否正确。确保连接字符串中的用户名、密码和数据库名称都是正确的。 4. 检查数据库服务器配置:如果以上方法都没有解决问题,可能是因为数据库服务器的配置有问题。请检查数据库服务器的配置文件,确保允许远程连接,并且没有其他限制。 5. 检查防火墙设置:有时候,防火墙设置可能会阻止数据库连接。请确保你的防火墙允许数据库连接。 6. 重置密码:如果你确信用户名和密码是正确的,但仍然无法连接数据库,可以尝试重置密码。使用数据库管理工具或者命令行工具重置密码,并更新你的应用程序中的连接信息。 这些方法应该能够帮助你解决java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)错误

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值