mysql密码忘记了重置方法

#先把mysql停止
service mysqld stop

#安全模式进入mysql,并且跳过授权表  
mysqld_safe --skip-grant-tables &

#如果上面这个命令报错的话试试这个
mysqld --user=mysql --skip-grant-tables --skip-networking &

#输入 mysql -uroot -p  不要敲密码,回车进入即可
mysql -uroot -p

#用一下mysql这个库就好,然后执行一下update语句(括号里面的是你要修改的新密码),然后刷新一下授权表,最后退出即可
mysql> use mysql
mysql> update mysql.user set authentication_string=password('root') where user='root';
mysql> flush privileges;
mysql> quit

#测试 将mysql重启 
service mysqld restart
mysql -proot

#重置密码之后出现的问题 navicat远程连接不上去 
#因为之前执行了 mysqld --user=mysql --skip-grant-tables --skip-networking &
#该命令中有一个参数“–skip-networking”,
#所以使用命令:SHOW VARIABLES LIKE 'skip_networking'; 查看,发现参数skip-networking是打开的。

#所以现在所要做的就是将参数skip-networking关闭掉。
#查询到相应的pid之后将对应进行kill掉
ps aux|grep mysql
#一般来说 kill完之后就可以链接上去了。

结论:如果使用 “mysqld_safe --user=mysql --skip-grant-tables --skip-networking &” 命令重启mysql服务,实现了免密登录,完成所需操作之后,一定要记得关闭参数skip-grant-tables 和skip-networking。
原文地址:https://www.cnblogs.com/qq1445496485/p/15689629.html