第一步:修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables
第二步:保存配置文件后,重启MySQL服务 systemctl restart mysql (我的是Centos)
第三步:再次进入MySQL命令行 mysql -uroot -p,输入密码时直接回车,就会进入MySQL数据库了,这个时候按照常规流程修改root密码即可。
三条命令:use mysql;
update user set authentication_string=password("123456") where user="root";
flush privileges;
解释:
use mysql; //使用mysql数据库
update user set authentication_string=password("123456") where user="root"; //设置密码为123456,旧版本的为update user set password=password("123456") where user="root";
flush privileges; //刷新MySQL的系统权限相关表,否则会出现拒绝访问
第四步:密码修改完毕后,再按照第一步中的流程,删掉配置文件中的那行,并且重启MySQL服务,新密码就生效了。