1、skip-grant-tables 我们常用的方法是使用skip-grant-tables选项,为了安全起见,通常加上skip-networking,mysqld 不侦听任何TCP/IP连接请求。

1)修改my.cnf配置文件,在mysqld选项中添加skip-grant-tablesskip-networking

2)再重启mysqld server

3)通过sql语句修改mysql.user表中存储密码。

执行flush privileges,重新启用mysql权限系统。

1
2
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 语句。

1
2
3
UPDATE mysql.user SET Password=PASSWORD('liups.com') WHERE User='root';

FLUSH PRIVILEGES;

2)关闭mysqld服务进程。

3)使用mysqld\_safe启动mysqld

1
mysqld\_safe --init-file=/tmp/initfile &

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

原文作者: liups.com

原文链接: http://liups.com/posts/a66f56e5/

许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议