mysql root密码的重设方法(亲测可用)


MySQL root 密码的重设方法通常依赖于您是否有权限访问MySQL服务器,以及您是否可以通过某种方式(如命令行或管理界面)与服务器交互。下面是一个在Linux环境下,使用命令行重置MySQL root密码的通用步骤,请确保在尝试之前已经停止了MySQL服务(如果适用),并且具有足够的权限。

**注意**: 以下步骤可能因MySQL版本和操作系统而异,以下示例基于MySQL 5.7及以上版本。

1. **停止MySQL服务**(如果MySQL正在运行):


   sudo systemctl stop mysql
   

或者对于较旧的系统,可能是:


   sudo service mysql stop
   

2. **以无密码模式启动MySQL服务**(这一步需要您以root用户执行,并且具体命令可能因MySQL的安装方式而异):


   sudo mysqld_safe --skip-grant-tables &
   

这个命令会启动MySQL服务,但跳过授权表,允许您无需密码即可访问数据库。

3. **登录到MySQL**:


   mysql -u root
   

4. **选择mysql数据库**:


   USE mysql;
   

5. **重置root密码**(根据您的MySQL版本,命令可能略有不同):

对于MySQL 5.7及以上版本,您可以使用以下命令更新root用户的密码(请将`new_password`替换为您的新密码):


   UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
   FLUSH PRIVILEGES;
   

注意:从MySQL 5.7.6开始,`PASSWORD()` 函数已被弃用,您应该使用:


   ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
   FLUSH PRIVILEGES;
   

6. **退出MySQL并重启服务**:

首先,退出MySQL命令行:


   EXIT;
   

然后,重启MySQL服务:


   sudo systemctl start mysql
   

或者对于较旧的系统:


   sudo service mysql start
   

7. **使用新密码登录**:


   mysql -u root -p
   

然后输入您的新密码。

请确保在操作过程中替换示例中的`new_password`为您自己的密码,并且根据您的具体情况(如MySQL版本和操作系统)调整命令。

**重要安全提示**:在生产环境中,直接以无密码模式启动MySQL服务可能会带来安全风险。确保在完成密码重置后立即重启MySQL服务,并且仅在必要时执行此操作。