Linux下忘记MySQL密码的找回方法
方法一:通过MySQL命令行修改 此方法需要先停止MySQL服务,并以跳过权限认证的方式启动MySQL。具体步骤如下: 停止MySQL服务:/etc/init.d/mysql stop
方法一:通过MySQL命令行修改
此方法需要先停止MySQL服务,并以跳过权限认证的方式启动MySQL。具体步骤如下:
- 停止MySQL服务:
/etc/init.d/mysql stop - 以跳过权限认证的方式启动MySQL:
mysqld_safe --usermysql --skip-grant-tables --skip-networking - 使用root用户登录MySQL:
mysql -u root mysql - 执行以下命令修改密码:
update user set passwordpassword('newpassword') where user'root'; - 刷新权限:
flush privileges; - 退出MySQL:
quit - 重新启动MySQL服务:
/etc/init.d/mysql restart - 使用新密码登录MySQL:
mysql -u root -p,然后输入新设的密码。
方法二:使用文件中的用户名和密码
此方法适用于Debian系统,可以直接使用文件中提供的用户名和密码来登录MySQL并修改密码。具体步骤如下:
- 使用debian-sys-maint用户登录MySQL:
mysql -udebian-sys-maint -p,然后输入[client]节的密码。 - 执行以下命令修改密码:
update user set passwordpassword('newpassword') where user'root'; - 刷新权限:
flush privileges; - 退出MySQL:
quit - 使用新密码登录MySQL:
mysql -u root -p,然后输入新设的密码。
方法三:通过配置文件中的密码找回
此方法需要在配置文件(如)中查找密码并使用找到的密码进行登录和修改。具体步骤如下:
- 使用root用户登录MySQL:
mysql -uroot -p,然后输入文件中[client]节提供的密码。 - 执行以下命令修改密码:
update user set passwordpassword('newpassword') where user'root'; - 刷新权限:
flush privileges; - 退出MySQL:
quit - 使用新密码登录MySQL:
mysql -u root -p,然后输入新设的密码。
方法四:通过修改启动脚本跳过权限认证
此方法需要修改MySQL的启动脚本以跳过权限认证的方式启动MySQL,并在修改密码后恢复原始的启动脚本。具体步骤如下:
- 关闭MySQL服务:
/etc/init.d/mysqld stop - 使用跳过权限认证选项启动MySQL:
vi /etc/init.d/mysqld,在启动语句中增加--skip-grant-tables选项。 - 保存并退出编辑器。
- 重新启动MySQL服务:
/etc/init.d/mysqld start - 使用root用户登录MySQL:
mysql -u root -p,然后输入没有密码的root用户。 - 执行以下命令修改密码:
update set passwordpassword('newpassword') where user'root'; - 刷新权限:
flush privileges; - 退出MySQL:
quit - 关闭MySQL服务:
/etc/init.d/mysqld stop - 恢复原始的启动脚本:
vi /etc/init.d/mysqld,将之前添加的--skip-grant-tables选项删除。 - 保存并退出编辑器。
- 重新启动MySQL服务:
/etc/init.d/mysqld start
通过以上四种方法,您可以轻松找回在Linux下忘记的MySQL密码,并重新设置新密码。