Home MySQL如何重置密码
Post
Cancel

MySQL如何重置密码

  1. 修改my.ini文件

    在my.ini文件的[mysqld]栏下添加skip-grant-tables,如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
     [mysql]
     # 设置MySQL客户端默认字符集
     default-character-set=utf8 
     [mysqld]
     skip-grant-tables
     # 设置3306端口
     port = 3306 
     # 设置MySQL的安装目录
     basedir=D:\MySQL\mysql-5.7.27-winx64\bin
     # 设置MySQL数据库的数据的存放目录
     datadir=D:\MySQL\mysql-5.7.27-winx64\data
     # 允许最大连接数
     max_connections=200
     # 设置MySQL服务端默认字符集
     character-set-server=utf8
     # 创建新表时将使用的默认存储引擎
     default-storage-engine=INNODB 
    
  2. 启动MySQL服务。

    1
    
     net start mysql
    
  3. 执行命令mysqld --skip-grant-tables,绕过权限启动MySQL。
  4. 重置账户密码。

    进入MySQL安装目录cd D:\MySQL\mysql-5.7.27-winx64\bin,执行命令mysql跳过权限验证连接数据库,update mysql.user set authentication_string="" where user="root";重置 root 用户的密码。

  5. 刷新权限表、设置新密码

    设置新密码的语句:update user set password=password('新密码') where user='root' and host='localhost';,如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
     mysql> flush privileges;
     Query OK, 0 rows affected (0.00 sec)
    
     mysql> use mysql; 
    
     mysql> update user set password=password('root') 
          > where user='root' and host='localhost';
     Query OK, 0 rows affected, 1 warning (0.00 sec)
    
     mysql> flush privileges;
     Query OK, 0 rows affected (0.00 sec)
    

参考:Windows MySQL重置root密码

This post is licensed under CC BY 4.0 by the author.