MySQL的 root 帐号密码默认为空,经常都有修改密码后忘记密码的事。如果忘记了root 帐号密码,那该怎么修改密码呢?这里有一个可行的方法,就是在MySQL安全模式下(跳过权限检查)修改密码的方式来解决这个问题。本文分别对Windows环境与Linux环境下介绍MySQL忘记密码时修改密码的方法,希望帮助初学者解决丢失密码的烦恼。
Windows下MySQL重置密码
通常MySQL都是安装成Windows服务运行的。
1、启动cmd命令窗口:
-
-
D:\MySQL\bin>sc stop 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> 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';