Linux下连接Mysql出现:Access denied for user 'root'@'localhost' (using password:YES)的解决方法

      问题简介:

              本人近期在学习hadoop相关技术,在使用hive连接mysql数据库的时候,出现Access denied for user 'root'@'localhost' (using password:YES)的报错信息,截取如下:

Caused by: java.sql.SQLException: Access denied for user 'root'@'ericHost06' (using password: YES)
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1086)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:928)
        at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:4736)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1342)
        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2493)
        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2526)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2311)
        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)  

       ......

     

     分析:

           1、本人首先检查了hive-site.xml的配置,发现用户名和密码都是对的,为了验证重新设置的了mysql的用户名和密码,所以不是密码错误;

           2、mysql的client连接正常,所以mysql安装的也没有问题,所以很有可能就是远程账户访问没有打开,但是本人之前已经设置了打开远程访问;

           3、在mysql终端也运行了如下的程序,保证访问权限没有问题;

GRANT ALL PRIVILEGES ON hive.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
FLUSH PRIVILEGES

      

           但是我想到在进行mysql的设置的时候,在选择远程访问打不开之后还有一个是否删除什么表的选项,当时我是选择删除的,所以我重新输入命令行

          /usr/bin/mysql_secure_installation  进入配置界面,重新配置,每个配置项如下:

         

Change the root password? [Y/n] Y

New password: 

Re-enter new password: 

Password updated successfully!

Reloading privilege tables..

 ... Success!

 

Remove anonymous users? [Y/n] Y
 ... Success!

 

Disallow root login remotely? [Y/n] n
 ... skipping.

 

Remove test database and access to it? [Y/n] n
 ... skipping.

 

Reload privilege tables now? [Y/n] Y
 ... Success!

             在我重新设置完成后, hive客户端就可以正常使用了。所以我想或许就是红色标注的这一段影响了结果,为了验证我重新设定了一次,这次红色标注的选择Y

             但是这次也是可以成功的。

       

          结论:

             至此,我的结论是,之前不成功就是密码没有重新修改 或者  远程没有打开 这两个问题导致的,只要输入/usr/bin/mysql_secure_installation  进入配置界面,然后选择重新修改密码,然后选择不禁止远程访问,就可以了。

            

  一步步学习多线程  https://blog.csdn.net/money9sun/column/info/21684

  springcloud学习     https://blog.csdn.net/money9sun/column/info/23056

  IT不归撸                 https://blog.csdn.net/money9sun/column/info/32404

 

 

 

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值