windows环境下,mysql的root密码丢失后重置方法

  1. 运行窗口输入 services.msc,检查mysql服务是否启动,如果启动手动停止或输入

    net stop mysql

    停止msyql服务。

  2.  

    打开cmd命令行,使用cd命令进入mysql 的bin目录

    cd D:SOFT_PHP_PACKAGEmysqlin

    输入 mysql所在盘符切换当前目录

    D:

     
  3.  

    输入命令

    mysqld --console --skip-grant-tables

    注释:

    该命令通过跳过权限安全检查,开启mysql服务,这样连接mysql时,可以不用输入用户密码。  此时已经开启了mysql服务了!

    这个窗口保留不关闭,然后新打开一个cmd命令窗口。

     
  4.  

    输入命令:

    mysql -u root -p

    连接mysql,出现输入密码的提示,直接回车使用空密码即可成功连接

    Enter password:

     
  5.  

    使用SHOW命令查看数据库

    SHOW databases;

    使用USE命令切换到mysql数据库

    USE mysql;

    使用UPDATE命令更改root密码:

    UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root';

    刷新权限:

    FLUSH PRIVILEGES;

    退出,重新登录

    quit

  6. 6

    运行

    net start mysql

    启动mysql服务 

    重新登录mysql

    mysql -u root -p

    出现输入密码提示,输入新的密码即可登录:

    Enter password: ***********

    显示登录信息: 成功  一切ok

    ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 

     mysql> SELECT 1; ERROR 1820 (HY000): You must SET PASSWORD before executing this statement

    mysql> ALTER USER USER() IDENTIFIED BY 'new_password'; Query OK, 0 rows affected (0.01 sec)

    mysql> SELECT 1;

    +---+ | 1 |

    +---+ | 1 |

    +---+ 1

    row in set (0.00 sec)

    在linux下修改mysql的root的密码

    先停止mysql

    service mysqld stop

    进入到mysql的安装目录 /bin

    以不检查权限的方式启动

    mysqld_safe --skip-grant-tables &

    mysql -u root -p

原文地址:https://www.cnblogs.com/vania/p/7600426.html