mysql登陆 错误1698(28000)

安装mysql未设置密码,使用root用户登录出现 

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

可能是由于用户使用auth_socket插件验证造成的,下面是解决方法

------------------------------------------------------------------------------------------------------------------------

使用debian-sys-maint用户登录,密码是/etc/mysql/debian.cnf文件中的password字段值

cat  /etc/mysql/debian.cnf
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host     = localhost
user     = debian-sys-maint
password = suW7p2rMDb7u71xP
socket   = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host     = localhost
user     = debian-sys-maint
password = suW7p2rMDb7u71xP
socket   = /var/run/mysqld/mysqld.sock
mysql -u debian-sys-maint -p

登陆后,选择数据库

use mysql;

查看用户plugin确认

select user,plugin from user;

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

将plugin改为mysql_native_password并创建密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
flush privileges;

完成

posted @ 2019-11-01 12:26  漫天黄叶远飞  阅读(145)  评论(0)    收藏  举报