码迷,mamicode.com
首页 > 数据库 > 详细

Access denied for user 'root'@'localhost' (using password:YES) 解决方案

时间:2017-01-09 21:32:44      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:是你   令行   模式   user   重要   style   一句话   mysql   思路   

相信这个问题大部分人都遇到过,至少我遇到过三次了,而且每次原因都不一样,前段时间同学也遇到这个问题,问我怎么解决,我把我的解决思路都说了一遍,发现还不行,最后居然是另外一个原因。。。哎,说多了都是泪,总结如下:

(注:本文都建立在数据库能正常使用,但是程序无法连接数据库的基础上,如果在doc窗口或者用其他MySQL图形界面都连接不上,请自补mysql的基础知识吧技术分享

大概意思就是,如果能用mysql命令行进入mysql,就说明mysql安装没问题,是你程序的问题,没有连接权限(这里后面细说)。这里要说明一点的就是,非常重要,就是最后一句话,不要有空格!我就是吃了这个亏啊,在jabc.properties里面配置username和password时,因为换行的原因,里面有空格,说白了还是用户名和密码出错。如下

  1. jdbc.username=root    
  2. jdbc.password=123456    


root和123456后面都有空格,这个真是肉眼发现不了啊。。。。所以删掉空格就好了

2.用户没有权限(骗自己?参考)

其实,这一点也是网上看别人这么说的,自己没用过。但是我想,如果像我前面第一点提到的,你能在命令行模式下用这个用户名和密码进入mysql的话,那肯定有权限了啊,干嘛还要赋予权限?。。。所以仅供参考。。。

  1. CREATE USER ‘root‘@‘localhost‘ IDENTIFIED BY ‘你的密码‘;  
  2. GRANT ALL PRIVILEGES ON *.* TO [email protected]‘localhost‘;  

3.mysql和驱动jar版本冲突

这个是我同学出现的问题,他前面的问题都没有,后来我们发现,他安装的mysql是5.7,但是用的驱动jar(mysql-connector)是5.1.3(是我发给他的,怪我咯),好像程序里面一直连不上mysql,然后就没有然后了,就卸载了5.7的mysql,重新安装了5.0的mysql...(安装了还是在重启后才起效的),所以这个是个特例。。。


Access denied for user 'root'@'localhost' (using password:YES) 解决方案

标签:是你   令行   模式   user   重要   style   一句话   mysql   思路   

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!