GENERIC MYSQL信息
首先,阅读MySQL手册:https://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html
的步骤将告诉你如何关闭该服务,并与一个压倒一切的命令来启动它不需要密码,那么你重置密码。从手册:
停止MySQL服务器,然后使用--skip-grant-tables
选项重新启动它。这使任何人都可以在没有密码和所有权限的情况下进行连接,并禁用帐户管理语句,如ALTER USER
和SET PASSWORD
。由于这是不安全的,因此您可能希望将--skip-grant-tables
与--skip-networking
一起使用,以防止远程客户端连接。
使用mysql客户端连接到MySQL服务器;
shell> mysql
在mysql客户端,告诉服务器重载授权表,使帐户管理报表工作:
mysql> FLUSH PRIVILEGES;
因为服务器开始
--skip-grant-tables
不需要密码
然后更改'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 SPECIFIC
停止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服务。
你有没有试过** mysql -u root -p **在shell中 –
可能重复[MySQL错误1045(28000):访问拒绝用户'bill'@'localhost'(使用password:YES)]( http://stackoverflow.com/questions/10299148/mysql-error-1045-28000-access-denied-for-user-billlocalhost-using-passw) – rkosegi
好吧,你的密码是错误的。就那么简单。如何解决它:使用新的,正确的。 –