重置MySQL数据库root密码
重置MySQL数据库root密码
引言
在使用MySQL数据库时,忘记密码是一个常见的问题。本文将详细介绍如何在Linux环境下重置MySQL的root密码。我们将探讨两种主要方法:使用SHA2
函数和使用PASSWORD
函数,以适应不同版本的MySQL。
步骤
步骤一:停止MySQL服务
首先,我们需要停止当前的MySQL服务。打开终端并执行以下命令:
1
sudo systemctl stop mysql
步骤二:启动MySQL服务并跳过权限表
为了能够修改密码,我们需要以跳过权限表的方式启动MySQL服务:
1
sudo mysqld_safe --skip-grant-tables &
如果无法启动提示文件夹不存在的话执行下面命令:
1 2 3 sudo mkdir -p /var/run/mysqld sudo chown mysql:mysql /var/run/mysqld sudo chmod 755 /var/run/mysqld
步骤三:登录MySQL
由于我们跳过了权限表,可以直接以root用户登录MySQL:
1
mysql -u root
步骤四:修改密码
方法一:使用SHA2
函数(适用于MySQL 5.7及以上版本)
在MySQL提示符下,执行以下命令:
1
2
3
4
USE mysql;
UPDATE user SET authentication_string=SHA2('password', 256) WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
EXIT;
方法二:使用PASSWORD
函数(适用于MySQL 5.6及以下版本)
如果你使用的是较旧版本的MySQL,可以尝试以下命令:
1
2
3
4
USE mysql;
UPDATE user SET password=PASSWORD('password') WHERE User='root' AND Host='localhost';
FLUSH PRIVILEGES;
EXIT;
步骤五:重启MySQL服务
完成密码修改后,重启MySQL服务以使更改生效:
1
sudo systemctl start mysql
注意事项
使用--skip-grant-tables
选项会跳过权限验证,存在安全风险。建议在安全的环境下操作,并在操作完成后立即重启服务。
本文由作者按照
CC BY 4.0
进行授权