MySQL使用普通用户访问返回ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Posted 欢迎访问我的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL使用普通用户访问返回ERROR 1698 (28000): Access denied for user 'root'@'localhost'相关的知识,希望对你有一定的参考价值。
这个问题最开始查资料都说要改密码,密码不对。其实不是这个样子都。
解决方法
- 修改
/etc/mysql/my.cnf
,添加以下内容
[mysqld] skip-grant-tables
- 重启mysql服务
/etc/init.d/mysql restart
- 使用
mysql -u root
连接 - 执行
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 | +------------------+-----------------------+
- 执行
update mysql.user set authentication_string=PASSWORD(‘pass‘),plugin=‘mysql_native_password‘ where user=‘root‘;
将root都密码修改为pass - 执行
flush privileges;
刷新一下 - 移除第一步添加的内容;重复第二步
修改过后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'的主要内容,如果未能解决你的问题,请参考以下文章
ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘解决方法
登录错误 1698 (28000):用户 'root'@'localhost' 的访问被拒绝
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
ERROR 1698 (28000): Access denied for user 'root'@'localhost' 解决方法
Ubuntu下连接mysql出现 ERROR 1698 (28000): Access denied for user 'root'@'localhost'错误解决方法
mysql安装以后无法登陆的的解决方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost'))