Mysql的Root密码遗忘的解决办法

 

 Windows

如果忘记了 MySQL 的 root 密码,可以用以下方法重新设置:

1. KILL掉系统里的MySQL进程,方法如下:

   a、点击桌面工具栏打开任务栏管理器。

   Mysql的Root密码遗忘的解决办法  

   b、从任务管理器的进程中找到mysqld-nt.exe进程,点击右键选择结束进程。
   Mysql的Root密码遗忘的解决办法

2. 在命令行中输入命令 mysqld-nt --skip-grant-tables 启动MySQL,以不检查权限的方式启动;
  
  Mysql的Root密码遗忘的解决办法

   Mysql的Root密码遗忘的解决办法

 

3. 然后另外开一窗口,用空密码方式使用root用户登录 MySQL;

 Mysql的Root密码遗忘的解决办法

4. 修改root用户的密码;

mysql> update mysql.user set password=PASSWORD("新密码") where User="root";
mysql> flush privileges;
mysql> quit

5. 重新启动MySQL,就可以使用新密码登录了。

 

----------文字版---------------

打开命令行窗口,停止mysql服务:        Net stop mysql
启动mysql,一般到mysql的安装路径,找到 mysqld-nt.exe
执行:mysqld-nt --skip-grant-tables 当前窗口将会停止。
另外打开一个命令行窗口,执行mysql   如果提示没有这个命令,先进入MYSQL的安装位置下BIN目录再运行mysql
>use mysql
>update user set password=password("") where user="root";
>flush privileges;
>exit
用Ctrl+Alt+Del,找到mysqld-nt的进程杀掉它,在重新启动mysql-nt服务,就可以用新密码登录了

----------------------------------------------------CenOS 下------------------------------------------------

1、首先停止正在运行的MySQL 进程

Linux下,运行 killall -TERM mysqld
Windows下,如果写成服务的 可以运行:net stop mysql ,如未加载为服务,可直接在进程管理器中进行关闭。

2、以安全模式启动MySQL

Linux下,运行 /usr/local/mysql /bin/mysqld_safe --skip-grant-tables &
Windows下,在命令行下运行 X:/MySQL /bin/mysqld-nt.exe --skip-grant-tables

3、完成以后就可以不用密码进入MySQL

Linux下,运行 /usr/local/mysql /bin/mysql -u root -p 进入
Windows下,运行 X:/MySQL /bin/mysql -u root -p 进入

4、更改密码

>use mysql
>update user set password=password("新密码") where user="root";
>flush privileges;

 

 

---------------------------------------------------Linux下的情况------------------------------------------
如果 MySQL 正在运行,首先杀之: killall -TERM mysqld。
启动 MySQL :bin/safe_mysqld --skip-grant-tables &
就可以不需要密码就进入 MySQL 了。
然后就是
>use mysql
>update user set password=password("new_pass") where user="root";
>flush privileges;
重新杀 MySQL ,用正常方法启动 MySQL 。