MySQL的 root 帐号密码默认为空,经常都有修改密码后忘记密码的事。如果忘记了root 帐号密码,那该怎么修改密码呢?这里有一个可行的方法,就是在MySQL安全模式下(跳过权限检查)修改密码的方式来解决这个问题。本文分别对Windows环境与Linux环境下介绍MySQL忘记密码时修改密码的方法,希望帮助初学者解决丢失密码的烦恼。
Windows下MySQL重置密码
通常MySQL都是安装成Windows服务运行的。
1、启动cmd命令窗口:
# 关闭MySQL服务
D:\MySQL\bin>sc stop mysql
# 以安全模式启动MySQL
D:\MySQL\bin>mysqld --skip-grant-tables
2、不要关闭,再启动一个新的cmd命令窗口:
# 登录MySQL数据库
D:\MySQL\bin>mysql -u root -p
mysql> use mysql;
mysql> update user set password=password("123456") where user="root";
mysql> flush privileges;
3、关闭以上两个窗口,启动MySQL服务
# 启动MySQL服务
C:\>sc start mysql
Linux下MySQL重置密码
Linux下重置密码的操作与Windows下类似。
# 停止MySQL服务
[root@www ~]# /etc/init.d/mysql stop
# 以安全模式启动MySQL
[root@www ~]# /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
# 登录MySQL
[root@www ~]# mysql -u root -p
mysql> use mysql;
mysql> update user set password=password("123456") where user="root";
mysql> flush privileges;
# 启动MySQL服务
[root@www ~]# /etc/init.d/mysql start
注意了,MySQL5.7之后,重置root密码SQL(感谢刘韦声回复):
update mysql.user set authentication_string=password('123456') where user='root';