MySQL忘记root密码–重启重置root密码

1、skip-grant-tables
我们常用的方法是使用skip-grant-tables选项,为了安全起见,通常加上skip-networking,mysqld不侦听任何TCP/IP连接请求。
1)修改my.cnf配置文件,在mysqld选项中添加skip-grant-tables和skip-networking。
2)再重启mysqld server。
3)通过sql语句修改mysql.user表中存储密码。执行flush privileges,重新启用mysql权限系统。
UPDATE mysql.USER SET Password=PASSWORD(“liups.com”)WHERE User=’root’;

FLUSH PRIVILEGES;
4)删除或者注释配置文件中skip-grant-tables和skip-networking的参数选项。然后重启生效。
2、–init-file
mysqld_safe可以使–init-file参数选项来执行重新设定密码的sql语句。
1)新建一个初始化文件,如/tmp/initfile,文件内容为上面修改密码的sql语句。
UPDATE mysql.user SET Password=PASSWORD(‘liups.com’) WHERE User=’root’;

FLUSH PRIVILEGES;
2)关闭mysqld服务进程。
3)使用mysqld_safe启动mysqld;
mysqld_safe –init-file=/tmp/initfile &

虽然简单但是需要重启MySQL库。当然也有不重启MySQL方法。下篇详解