mysql出现ERROR1698(28000):Access denied for user root@localhost错误解决方法
安装mysql首次进入出现以下错误
安装过程中被没有出现设置密码.
打开mysql配置文件:etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld] 块内写入:skip-grant-tables. 作用:无需输入密码即可登录.
保存退出,重启service mysql restart.
mysql -uroot -p,回车进入,密码输入直接回车.
进入数据库:use mysql;
更新用户表中的密码:update user set authentication_string=password(“你的密码”) where user=“root”;
输入:flush privileges;
这句命令为mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效。
重新进入mysqld.cnf文件中注释掉skip-grant-tables.进入数据库发生以下错误:
解决方法:
1.重新进入配置文件将skip-grant-tables生效
2.进入mysql , use mysql
3.select user,plugin from user; 结果如下
root登录密码并不是本地密码
修改字段plugin: update user set authentication_string=password(“ln122920”),plugin=‘mysql_native_password’ where user=‘root’;
退出重启,ok
参考:https://www.cnblogs.com/cpl9412290130/p/9583868.html 此同学,非常感谢.