# 修改MySQL的配置文件

(路径默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables

# 保存配置文件后,重启MySQL服务

service mysqld restart (注:根据自己的情况重启mysql)

# 进入MySQL命令行

mysql -uroot -p,输入密码时直接回车,就会进入MySQL数据库了,这个时候按照常规流程修改root密码即可

>use mysql;    #更改数据库
>UPDATE user SET PASSORD =password("new password") WHERE USER= 'root';  #重设密码

如果是 centos 7以上的;可能会失败;修改密码操作改为:

update mysql.user set authentication_string=password('new password') where user='root' ;

# 刷新表

>flush privileges;  #刷新MySQL的系统权限相关表,以防止更改后拒绝访问;或或者重启MySQL服务器

# 恢复配置

密码修改完毕后,再按照步骤1中的流程,删掉配置文件中的那行,并且重启MySQL服务,新密码就生效了。