MySQL忘记密码是很常见的问题,但是不用担心,有很多方法可以解决这个问题,本文将介绍四种常用的解决方法,分别是使用mysqld命令、使用mysql_secure_installation脚本、使用SET PASSWORD语句和使用第三方工具。
1. 使用mysqld命令
mysqld是MySQL服务器的主程序,可以通过它来重置MySQL的root密码,请按照以下步骤操作:
1、停止MySQL服务,在Windows系统中,可以在“服务”中找到MySQL服务并停止;在Linux系统中,可以使用命令sudo service mysql stop
或sudo /etc/init.d/mysql stop
停止服务。
2、打开命令行窗口,进入MySQL的安装目录,找到mysqld文件,在Windows系统中,路径可能是C:\Program Files\MySQLMySQL Server 5.7\bin
;在Linux系统中,路径可能是/usr/local/mysql/bin
。
3、在命令行中输入以下命令,其中your_new_password
是你希望设置的新密码:
mysqld skipgranttables user=root
4、打开另一个命令行窗口,进入MySQL的安装目录,找到mysql客户端文件,在Windows系统中,路径可能是C:\Program Files\MySQLMySQL Server 5.7\bin
;在Linux系统中,路径可能是/usr/local/mysql/bin
。
5、在命令行中输入以下命令,连接到MySQL服务器:
mysql u root
6、在MySQL命令行中输入以下命令,刷新权限:
FLUSH PRIVILEGES;
7、退出MySQL命令行,重新启动MySQL服务,在Windows系统中,可以在“服务”中找到MySQL服务并启动;在Linux系统中,可以使用命令sudo service mysql start
或sudo /etc/init.d/mysql start
启动服务。
现在,你应该可以使用新设置的密码登录到MySQL了。
2. 使用mysql_secure_installation脚本
mysql_secure_installation是一个用于设置MySQL安全选项的脚本,通过运行此脚本,可以轻松地更改root密码、删除匿名用户、禁止远程root登录等,请按照以下步骤操作:
1、停止MySQL服务,在Windows系统中,可以在“服务”中找到MySQL服务并停止;在Linux系统中,可以使用命令sudo service mysql stop
或sudo /etc/init.d/mysql stop
停止服务。
2、打开命令行窗口,进入MySQL的安装目录,找到mysql客户端文件,在Windows系统中,路径可能是C:Program Files\MySQL\MySQL Server 5.7\bin
;在Linux系统中,路径可能是/usr/local/mysql/bin
。
3、在命令行中输入以下命令,以安全模式启动MySQL:
mysqld_safe skipgranttables &
4、打开另一个命令行窗口,进入MySQL的安装目录,找到mysql客户端文件,在Windows系统中,路径可能是C:\Program Files\MySQL\MySQL Server 5.7\bin
;在Linux系统中,路径可能是/usr/local/mysql/bin
。
5、在命令行中输入以下命令,连接到MySQL服务器:
mysql u root
6、运行mysql_secure_installation脚本:
SELECT * FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); UPDATE mysql.user SET authentication_string=PASSWORD('your_new_password') WHERE User='root'; FLUSH PRIVILEGES; DROP USER 'root'@'localhost'; CREATE USER 'root'@'%' IDENTIFIED BY 'your_new_password'; GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_password';
7、退出MySQL命令行,重新启动MySQL服务,在Windows系统中,可以在“服务”中找到MySQL服务并启动;在Linux系统中,可以使用命令sudo service mysql start
或sudo /etc/init.d/mysql start
启动服务。
现在,你应该可以使用新设置的密码登录到MySQL了。
3. 使用SET PASSWORD语句
如果你有其他用户的权限(例如普通用户),可以尝试使用SET PASSWORD语句来更改密码,请按照以下步骤操作:
1、连接到MySQL服务器:在命令行中输入以下命令:
mysql u your_username p
2、输入当前密码:当提示输入密码时,输入你的当前密码,注意,这里不需要输入新密码。
3、运行SET PASSWORD语句:在MySQL命令行中输入以下命令:
SET PASSWORD = PASSWORD('your_new_password');
4、刷新权限:在MySQL命令行中输入以下命令:
FLUSH PRIVILEGES;
现在,你应该可以使用新设置的密码登录到MySQL了,请注意,这种方法可能需要具有SUPER权限的用户才能成功执行,如果没有SUPER权限,可以尝试联系数据库管理员寻求帮助。
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/504816.html