背景:自己搭建了很多测试环境,有的时候,某一台机器上面的MySQL密码可能就忘了,这种情况怎么办?记录一下解决方法,便于以后迅速解决这一类问题
第一步:查看MySQL的进程是否存活
ps -ef|grep mysql
第二步:关闭MySQL的服务
service mysqld stop
第三步:修改mysql的配置文件my.cnf
vim /etc/my.cnf
在[mysqld]的下一行输入skip-grant-tables (跳过权限认证的意思)
修改完如下图所示
第四步:重新启动MySQL服务,登录MySQL以后修改密码
启动命令
service mysqld start
登录MySQL的命令,提示输入密码时,直接点击enter即可
mysql -u root -p
修改密码,设置一个自己喜欢的密码
update mysql.user set authentication_string=('123456') where user='root';
刷新权限
flush privileges;
第五步:重新启动MySQL服务,然后用最新的密码登录,发现是可以登录的
但是这会儿有个问题,就是密码随机输入、不输入都可以登录进来,因为之前修改的跳过权限那一步,什么时候把跳过权限那一步注释掉还得测试