MySQL重置root密码的几种方法(windows+Linux)

时间:2021-09-25 18:26:16

重置root密码的方法:

windows系统下:
1、停止mysql服务;
2、新建文件init-root.txt,写上如下内容:
update mysql.user set password = password('newpwd') where user = 'root';
flush privileges;
保存;
3、打开命令行,输入:C:\mysql\bin\mysqld --init-file=C:\\mysql-init.txt
--init-file 选项指向初始化的文件

如果MySQL是通过GUI界面安装向导安装的话,如下:
C:\> "C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe"
--defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini"
--init-file=C:\\mysql-init.txt
--defaults-file 选项指向mysql的配置文件

4、服务重启后密码已经重置,可以删掉init-root.txt文件。

linux下,第一种方法类似windows中:
1、停止mysql服务(kill掉进程);
2、新建文件init-root,写上如下内容:
update mysql.user set password = password('newpwd') where user = 'root';
flush privileges;
保存;
3、在shell中运行: mysqld_safe --init-file=/home/me/mysql-init &

4、服务重启,可以删掉init-root.txt文件。

所有平台都可用的方法:
1、停止mysqld服务,
2、配置my.conf文件,加入: --skip-grant-tables选项,跳过权限检查; --skip-networking 选项阻止远程客户网络连接;
3、重启mysqld服务,
shell> service mysqld start
4、登录client,
shell> mysql
5、更改密码:
mysql> update mysql.user set password = password('newpwd') where user='root';
mysql> flush privileges;
6、关闭mysqld服务,删除--skip-grant-tables和--skip-networking选项,重启服务即可

参考:

MySQL官方文档:
http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html