方法一:使用mysqladmin命令重置密码
- 停止MySQL服务:Windows用户可以在服务中找到MySQL服务并停止它。Linux用户可以使用命令sudo service mysql stop或sudo systemctl stop mysqld来停止MySQL服务。
- 重置密码:打开命令行工具,输入mysqladmin -u root -p password "new_password"命令(将new_password替换为您想要设置的新密码)。系统会提示您输入旧密码,但由于您忘记了密码,这一步可能无法直接进行。如果之前设置了免密码登录或其他特殊方式,则可以成功设置新密码。
方法二:使用mysqld_safe或修改配置文件重置密码
- 停止MySQL服务:同方法一。
- 以安全模式启动MySQL:
- 使用mysqld_safe --skip-grant-tables &命令(Linux)启动MySQL服务并跳过授权表。
- 或者,修改MySQL的配置文件(如myf或my.ini),在[mysqld]标签下添加skip-grant-tables,然后保存并重启MySQL服务。
- 登录并重置密码:
- 使用命令mysql -u root以root身份登录MySQL。
- 执行SQL命令FLUSH PRIVILEGES;和ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';(将new_password替换为您想要设置的新密码)。
- 恢复MySQL的正常启动:
- 停止MySQL服务。
- 删除或注释掉在配置文件中添加的skip-grant-tables行。
- 重启MySQL服务。
方法三:使用SET PASSWORD命令重置密码(适用于已登录MySQL的情况)
- 登录MySQL:使用已知的用户名和密码登录MySQL。
- 重置密码:
- 执行SQL命令SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');(将new_password替换为您想要设置的新密码)。
- 注意:在MySQL 5.7及更高版本中,可能需要使用ALTER USER命令来设置密码,如上面方法二中所示。
方法一:使用mysqladmin命令重置密码
- 停止MySQL服务:Windows用户可以在服务中找到MySQL服务并停止它。Linux用户可以使用命令sudo service mysql stop或sudo systemctl stop mysqld来停止MySQL服务。
- 重置密码:打开命令行工具,输入mysqladmin -u root -p password "new_password"命令(将new_password替换为您想要设置的新密码)。系统会提示您输入旧密码,但由于您忘记了密码,这一步可能无法直接进行。如果之前设置了免密码登录或其他特殊方式,则可以成功设置新密码。
方法二:使用mysqld_safe或修改配置文件重置密码
- 停止MySQL服务:同方法一。
- 以安全模式启动MySQL:
- 使用mysqld_safe --skip-grant-tables &命令(Linux)启动MySQL服务并跳过授权表。
- 或者,修改MySQL的配置文件(如myf或my.ini),在[mysqld]标签下添加skip-grant-tables,然后保存并重启MySQL服务。
- 登录并重置密码:
- 使用命令mysql -u root以root身份登录MySQL。
- 执行SQL命令FLUSH PRIVILEGES;和ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';(将new_password替换为您想要设置的新密码)。
- 恢复MySQL的正常启动:
- 停止MySQL服务。
- 删除或注释掉在配置文件中添加的skip-grant-tables行。
- 重启MySQL服务。
方法三:使用SET PASSWORD命令重置密码(适用于已登录MySQL的情况)
- 登录MySQL:使用已知的用户名和密码登录MySQL。
- 重置密码:
- 执行SQL命令SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');(将new_password替换为您想要设置的新密码)。
- 注意:在MySQL 5.7及更高版本中,可能需要使用ALTER USER命令来设置密码,如上面方法二中所示。