mysql 8.0忘记密码

130 阅读1分钟
  1. 关闭现有的mysql服务

cmd 然后输入:services.msc 找到并关闭mysql服务。

image.png 2. cmd 键入:mysqld --console --skip-grant-tables --shared-memory

image.png

  1. 新开一个cmd 键入: mysql -uroot ,可直接进入mysql服务器

  2. 操作变更密码

-- 错误实例
mysql> ALTER USER 'root'@'localhost'  IDENTIFIED WITH mysql_native_password BY 'snackpub'
    -> ;
ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement

-- 需要刷新权限才能使用相关变更指令
mysql> flush privileges

-- 错误实例
mysql> ALTER USER 'root'@'localhost'  IDENTIFIED WITH mysql_native_password BY 'snackpub';
ERROR 1396 (HY000): Operation ALTER USER failed for 'root'@'localhost'

-- 正确示例,注意 snackpub@% 这里,自己查看自己创建的是什么,不要把%跟localhost搞错。
mysql> ALTER USER 'snackpub'@'%'  IDENTIFIED WITH mysql_native_password BY 'snackpub'
  1. 注意 'snackpub'@'%' 不要搞错。

the following:

mysql> select user,host from user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| snackpub         | %         |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
| mysql.sys        | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)