通用 MYSQL 信息
首先,阅读 mysql 手册:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
这些步骤将向您展示如何关闭服务并使用不需要密码的覆盖命令启动它,然后重置密码。从手册中:
停止 MySQL 服务器,然后使用以下命令重新启动它--skip-grant-tables
选项。这使得任何人都可以在没有密码的情况下以所有权限进行连接,并禁用帐户管理语句,例如ALTER USER
and SET PASSWORD
。因为这是不安全的,您可能想要使用--skip-grant-tables
和这个结合--skip-networking
以防止远程客户端连接。
使用mysql客户端连接MySQL服务器;不需要密码,因为服务器是用--skip-grant-tables
:
shell> mysql
在 mysql 客户端中,告诉服务器重新加载授权表,以便帐户管理语句起作用:
mysql> FLUSH PRIVILEGES;
然后更改'root'@'localhost'
户口密码。将密码替换为您要使用的密码。要更改具有不同主机名部分的 root 帐户的密码,请修改说明以使用该主机名。
MySQL 5.7.6 及更高版本:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
MySQL 5.7.5 及更早版本:
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
或者直接在用户表上:
UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';
XAMPP 特定
停止 MySQL 服务。打开一个命令窗口。切换到 XAMPP MySQL 目录:
> cd \xampp\mysql\bin\
在没有安全性的情况下运行服务(注意您正在运行 mysqld,而不是 mysql):
> mysqld.exe --skip-grant-tables
MySQL服务将在此窗口中运行,因此打开另一个命令窗口并切换到XAMPP MySQL目录:
> cd \xampp\mysql\bin\
运行MySQL客户端:
> mysql
更新密码:
mysql> UPDATE mysql.user SET password=PASSWORD('mynewpassword') WHERE user='root';
退出MySQL:
mysql> \q
使用任务管理器取消仍在运行的mysqld.exe。重新启动 mysql 服务。