首页 > 数据库技术 > 详细

ERROR 1698 (28000): Access denied for user 'root'@'localhost' 错误的解决办法

时间:2019-05-06 20:56:12      阅读:373      评论:0      收藏:0      [点我收藏+]
$ sudo mysql -u root 

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

正如您在查询中看到的,根用户正在使用auth_socket插件

有两种方法可以解决这个问题:

1,可以将根用户设置为使用mysql_native_password插件
2,您可以用您的系统用户创建一个新的数据库用户(推荐)

方法一:

$ sudo mysql -u root #使用sudo 进入mysql,执行下面语句。

mysql> USE mysql;
mysql> UPDATE user SET plugin=mysql_native_password WHERE User=root;
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

方法二:(用你自己的用户名替换系统用户)

$ sudo mysql -u root 

mysql> USE mysql;
mysql> CREATE USER YOUR_SYSTEM_USER@localhost IDENTIFIED BY ‘‘;
mysql> GRANT ALL PRIVILEGES ON *.* TO YOUR_SYSTEM_USER@localhost;
mysql> UPDATE user SET plugin=auth_socket WHERE User=YOUR_SYSTEM_USER;
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

 

ERROR 1698 (28000): Access denied for user 'root'@'localhost' 错误的解决办法

原文:https://www.cnblogs.com/sly27/p/10821745.html

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