MySQL密码遗失处理方法

当前情况:已知linux root密码,mysql密码不知道,有程序运行不可更改root密码,想导出mysql的数据。

具体方法如下:

1,登录到服务器,修改mysql配置文件/etc/my.cnf,在[mysqld]段下增加skip-grant-tables,并重启mysql。

2,此时访问mysql不需要验证,使用mysql -uroot即可连接。

3,导出数据,这里以使用mysqldump导出data库到/mnt为例,linux命令为mysqldump -uroot data > /mnt/data.sql

4,导出数据后修改mysql配置文件/etc/my.cnf,删除或注释skip-grant-tables配置,并重启服务器,此时mysql恢复需要验证的状态。

这种方法涉及重启mysql,可能会造成程序运行异常。如果需要修改mysql密码,可在第2步后执行下列操作,序号接第2步:

3,进入mysql库,修改密码为123456,下面命令适用于5.7+版本。

use mysql;

update mysql.user set authentication_string=password(‘123456′) where user=’root’ and Host = ‘localhost’;

低于5.7版本可用下面命令:

use mysql;

UPDATE user SET password=PASSWORD(‘123456′) WHERE user=’root’;

4,导出数据后修改mysql配置文件/etc/my.cnf,删除或注释skip-grant-tables配置,并重启服务器,此时mysql恢复需要验证的状态。

京ICP备18006825号