mysql忘记root密码怎么办
时间 : 2023-06-01 09:33:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性
当你忘记 MySQL 的 root 密码时,不要担心,有几种方法可以帮助你恢复或重置它。
以下是一些可行的方法:
## 方法一:重置 MySQL root 密码
1. 停止 MySQL 服务:
$ sudo systemctl stop mysql
2. 启动 MySQL 服务,并跳过权限检查:
$ sudo mysqld_safe --skip-grant-tables &
3. 使用root用户登录 MySQL:
$ mysql -u root
4. 切换到 MySQL 数据库:
mysql> use mysql;
5. 修改 root 用户的密码:
mysql> update user set authentication_string=password('new_password') where user='root';
6. 退出 MySQL:
mysql> quit;
7. 停止 MySQL 服务:
$ sudo systemctl stop mysql
8. 启动 MySQL 服务:
$ sudo systemctl start mysql
现在你可以使用新密码以 root 用户身份登录 MySQL。
## 方法二:使用 mysqladmin 工具重置 MySQL root 密码
1. 停止 MySQL 服务:
$ sudo systemctl stop mysql
2. 使用 mysqladmin 重置 root 用户的密码:
$ sudo mysqladmin -u root password new_password
3. 启动 MySQL 服务:
$ sudo systemctl start mysql
现在你可以使用新密码以 root 用户身份登录 MySQL。
## 方法三:更改 MySQL 配置文件以跳过身份验证
1. 停止 MySQL 服务:
$ sudo systemctl stop mysql
2. 编辑 MySQL 配置文件:
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
3. 在 [mysqld] 段下添加一行跳过身份验证的命令:
[mysqld]
skip-grant-tables
4. 保存并关闭文件。
5. 启动 MySQL 服务:
$ sudo systemctl start mysql
6. 以 root 用户身份登录 MySQL:
$ mysql -u root
7. 更改 root 用户的密码:
mysql> update user set authentication_string=password('new_password') where user='root';
8. 刷新权限:
mysql> flush privileges;
9. 退出 MySQL:
mysql> exit;
10. 修改 MySQL 配置文件以还原身份验证:
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
11. 删除或注释掉文件末尾的 `skip-grant-tables` 行。
12. 保存并关闭文件。
13. 启动 MySQL 服务:
$ sudo systemctl start mysql
现在你可以使用新密码以 root 用户身份登录 MySQL。
总结
当你忘记 MySQL 的 root 密码时,不要慌张。你可以使用上述任何方法来重置密码或跳过身份验证并设置新密码。无论哪种方法,确保操作后恢复 MySQL 的正常身份验证机制,以确保安全。
忘记了 MySQL 的 root 密码可能会让你感到很困扰,但是不用担心, MySQL 提供了几种方法来重置丢失的密码。下面介绍两种常用的方法。
方法一:使用mysqld_safe方式重置MySQL的root密码
这个方法比较简单,它通过重启 MySQL 服务时使用 mysqld_safe 命令的方式让 MySQL 服务处于无密码状态,随后,我们就可以使用新密码来更新 root 用户的密码了。
步骤如下:
1. 停止 MySQL 服务
可以使用 systemctl 命令来停止 MySQL:
```shell
sudo systemctl stop mysql
2. 使用下面的命令启动 MySQL 服务
本命令将使用 mysqld_safe 命令启动 MySQL 服务,并设置 mysqld_safe 的参数为 --skip-grant-tables,该参数会让 MySQL 服务以无密码身份启动。
```shell
sudo mysqld_safe --skip-grant-tables &
3. 登录 MySQL 服务
使用以下命令登录到 MySQL 服务:
```shell
mysql -u root
你将看到 MySQL 提示符。此时,你可以使用以下命令更新 root 用户的密码:
```mysql
UPDATE mysql.user SET authentication_string = PASSWORD('new_password'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';
FLUSH PRIVILEGES;
exit;
请确保将 "new_password" 替换为您的新密码。
4. 停止 MySQL 服务
使用以下命令停止 MySQL 服务:
```shell
sudo systemctl stop mysql
5. 启动 MySQL 服务并验证新密码
使用以下命令启动 MySQL 服务并验证您的新密码是否起作用:
```shell
sudo systemctl start mysql
现在,您应该可以使用新密码连接到 MySQL 了。
方法二:使用sudo方式重置MySQL的root密码
如果您无法或不想使用 mysqld_safe 来修改密码,您可以使用以下命令更改 MySQL root 用户的密码。这种方法更复杂一些。
步骤如下:
1. 停止 MySQL 服务
可以使用 systemctl 命令停止 MySQL 服务:
```shell
sudo systemctl stop mysql
2. 通过以下命令启动 MySQL 服务
本命令将使用 --skip-grant-tables 参数启动 MySQL 服务,并且会让 MySQL 服务处于无密码状态。
```shell
sudo mysqld --skip-grant-tables --skip-networking &
3. 在另一个终端窗口中登录到 MySQL
打开一个新的终端窗口,并使用以下命令登录到 MySQL 服务:
```shell
mysql -u root
由于我们已经使用了 --skip-grant-tables 参数启动了 MySQL,所以现在您可以直接连接到 MySQL,因为不需要密码。
4. 重置 root 用户的密码
使用以下命令来更新 root 用户的密码:
```mysql
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
quit;
请确保将 "new_password" 替换为您的新密码。
5. 停止 MySQL 服务
您现在可以通过按 Ctrl+C 来停止由第二步启动的 MySQL 进程。
6. 重启 MySQL 服务并验证新密码
使用以下命令重启 MySQL 服务:
```shell
sudo systemctl restart mysql
现在,您应该可以使用新密码连接到 MySQL 了。
总结
在 MySQL 中重置 root 用户的密码可能有点棘手,但是使用上述方法之一,您应该很快就能够恢复控制。无论哪种方法,最重要的建议是在完成密码重置后,及时备份数据,以免发生任何损失。
上一篇
怎么备份mysql数据库
下一篇
mysql怎么注册
https/SSL证书广告优选IDC>>
推荐主题模板更多>>
推荐文章