access denied for user root@localhost mysql忘记密码解决方法:
相信有不少小伙伴会遇到下面这种情况:
下面以Ubuntu为例:
一、 找到/etc/mysql/my.cnf文件,并打开 在[mysqld]下添加一行‘skip-grant-tables’,使其登录时跳过权限检查![在这里插入图片描述](https://img-blog.csdnimg.cn/20210420000051180.png
二、接着,输入service mysql restart 重启mysql服务
三、输入mysql -uroot 发现不需要输入密码便可以登陆数据库
四、接着 ,重置密码:
输入set password for ‘root’@‘localhost’=password(‘root’);会出现下面你的报错,但是没关系。
接着输入
flush privileges;
再执行 set password for ‘root’@‘localhost’=password(‘root’);就可以成功设置密码为root啦
退出之后,终于可以成功连接了。
最后,不要忘了删除掉my.cnf文件[mysqld]下一行‘skip-grant-tables‘