mysql问题拾遗

2018-09-28 Vaniot 更多博文 » 博客 » GitHub »

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 |
+-----------+-----------------------+