mysql问题拾遗
原文链接 https://vaniot-s.github.io/2018/09/28/mysql%E9%97%AE%E9%A2%98%E6%8B%BE%E9%81%97/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
ERROR 1698 (28000) 错误
错误详情:密码正确时用户依旧无法经如数据库中
mysql -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
错误的起因是root的plugin设置为auth_socket,用密码登陆的plugin应该是mysql_native_password。
解决办法:
在/etc/mysql/mysql.conf.d/mysqld.cnf
这个文件里找到[mysqld]
在该配置项下添加 skip-grant-tables
这个配置,之后可以使用mysql
命令直接进入而不需输入密码。
select user, plugin from mysql.user;
+-----------+-----------------------+
| user | plugin |
+-----------+-----------------------+
| root | auth_socket |
| mysql.sys | mysql_native_password |
| dev | mysql_native_password |
+-----------+-----------------------+