以下是“mysql忘记密码怎么办(windows linux)”的完整攻略:
思路概述
当我们忘记了MySQL的密码,需要通过以下几个步骤来重置密码:
- 停止MySQL服务
- 创建并编辑一个名为mysqld.ini或my.cnf的配置文件
- 在配置文件中添加一行命令:skip-grant-tables
- 以安全模式启动MySQL服务
- 使用root用户登录MySQL
- 修改root用户密码
- 移除配置文件中的skip-grant-tables命令
- 重启MySQL服务
具体步骤
Windows操作系统:
- 停止MySQL服务
在Windows系统的服务中找到MYSQL服务并停止,或者使用命令行执行以下命令:
net stop mysql
- 创建并编辑一个名为mysqld.ini的配置文件
在MySQL安装文件夹下的bin目录中,创建一个名为mysqld.ini的文本文件,并添加以下内容:
[mysqld]
skip-grant-tables
- 以安全模式启动MySQL服务
使用管理员身份运行命令行工具,进入MySQL的安装路径下的bin目录,输入以下命令启动MySQL的安全模式:
mysqld.exe --defaults-file="..\my.ini" --init-file="C:\mysql-init.txt" --console
这里的“C:\mysql-init.txt”是一个包含以下命令的文本文件,用于在启动MySQL服务时重置root用户密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
其中,“new_password”为你想要设置的新密码。
- 修改root用户密码
在上面的命令行窗口中,输入以下命令以进入MySQL服务:
mysql -u root
因为我们使用了skip-grant-tables选项,所以此时不需要输入密码,直接回车即可进入MySQL。
在MySQL命令行中,输入以下命令重置root用户密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
- 移除配置文件中的skip-grant-tables命令
关闭MySQL安全模式服务窗口并编辑mysqld.ini文件,删除“skip-grant-tables”这一行并保存。
- 重启MySQL服务
在Windows服务中找到MYSQL服务并重新启动,或者在命令行中执行以下命令:
net start mysql
Linux操作系统:
- 停止MySQL服务
使用以下命令停止MySQL服务:
sudo systemctl stop mysql
- 创建并编辑一个名为my.cnf的配置文件
在MySQL安装文件夹下,使用以下命令创建一个名为my.cnf的文件:
sudo nano /etc/mysql/my.cnf
在文件中添加以下一行:
skip-grant-tables
- 以安全模式启动MySQL服务
使用以下命令以安全模式启动MySQL服务:
sudo mysqld_safe --skip-grant-tables &
- 使用root用户登录MySQL
在命令行中执行以下命令,使用root用户登录MySQL:
mysql -u root
因为我们使用了skip-grant-tables选项,所以此时不需要输入密码,直接回车即可进入MySQL。
- 修改root用户密码
在MySQL命令行中,输入以下命令以重置root用户密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
其中,“new_password”为你想要设置的新密码。
- 移除配置文件中的skip-grant-tables命令
使用以下命令编辑my.cnf文件,删除“skip-grant-tables”这一行并保存。
sudo nano /etc/mysql/my.cnf
- 重启MySQL服务
使用以下命令重启MySQL服务:
sudo systemctl restart mysql
示例:
示例一
用户A使用Windows系统,在执行MySQL操作时,不小心忘记了root用户密码,需要重设密码。他按照上述步骤操作,在重设root用户密码后成功登录MySQL。
示例二
用户B使用Linux系统,在执行MySQL操作时,因为生产环境需要,设置了root用户密码,但不小心忘记了密码。他按照上述步骤操作,在重设root用户密码后成功登录MySQL。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql忘记密码怎么办(windows linux) - Python技术站