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;
完成

浙公网安备 33010602011771号