首页 > 数据库技术 > 详细

MySQL使用普通用户访问返回ERROR 1698 (28000): Access denied for user 'root'@'localhost'

时间:2018-11-04 10:48:35      阅读:126      评论:0      收藏:0      [点我收藏+]

这个问题最开始查资料都说要改密码,密码不对。其实不是这个样子都。

解决方法

  1. 修改/etc/mysql/my.cnf,添加以下内容
    [mysqld] skip-grant-tables
  2. 重启mysql服务/etc/init.d/mysql restart
  3. 使用mysql -u root连接
  4. 执行select user, plugin from mysql.user;
    若显示以下结果,请继续;若没有,这篇文章解决不了。
    +------------------+-----------------------+ | user | plugin | +------------------+-----------------------+ | root | auth_socket | | mysql.session | mysql_native_password | | mysql.sys | mysql_native_password | | debian-sys-maint | mysql_native_password | +------------------+-----------------------+
  5. 执行update mysql.user set authentication_string=PASSWORD(‘pass‘),plugin=‘mysql_native_password‘ where user=‘root‘;将root都密码修改为pass
  6. 执行flush privileges;刷新一下
  7. 移除第一步添加的内容;重复第二步

修改过后user表就变这样了

+------------------+-----------------------+
| user             | plugin                |
+------------------+-----------------------+
| root             | mysql_native_password |
| mysql.session    | mysql_native_password |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

MySQL使用普通用户访问返回ERROR 1698 (28000): Access denied for user 'root'@'localhost'

原文:https://www.cnblogs.com/zhuxiaoxi/p/9903167.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!