Linux 系统MySQL忘记密码怎么办
时间: 2023-11-30 15:51:36 浏览: 82
如果您忘记了 MySQL 的 root 用户密码,可以按照以下步骤重置密码:
1. 停止 MySQL 服务
在终端中输入以下命令停止 MySQL 服务:
```
sudo systemctl stop mysql
```
2. 启动 MySQL 服务并跳过权限验证
在终端中输入以下命令以启动 MySQL 服务,并跳过权限验证:
```
sudo mysqld_safe --skip-grant-tables &
```
3. 登录 MySQL
在终端中输入以下命令以登录 MySQL:
```
mysql -u root
```
4. 重置密码
在 MySQL 命令行中输入以下命令以重置密码:
```
use mysql;
update user set authentication_string=password('new_password') where user='root';
flush privileges;
quit;
```
请将 `new_password` 替换为您想要设置的新密码。
5. 重启 MySQL 服务
在终端中输入以下命令以重启 MySQL 服务:
```
sudo systemctl restart mysql
```
现在您应该可以使用新密码登录 MySQL 了。
相关问题
linux中mysql忘记密码怎么办
如果您忘记了 MySQL 的密码,可以执行以下步骤重置密码:
1. 停止 MySQL 服务
在终端中执行以下命令:
```
sudo systemctl stop mysql
```
2. 启动 MySQL 服务并跳过授权验证
在终端中执行以下命令:
```
sudo mysqld_safe --skip-grant-tables &
```
3. 登录 MySQL
在终端中执行以下命令:
```
mysql -u root
```
4. 更新密码
在 MySQL 命令行中执行以下命令:
```
UPDATE mysql.user SET Password=PASSWORD('new_password') WHERE User='root';
```
注意:将 `new_password` 替换为您想要设置的新密码。
5. 刷新权限
在 MySQL 命令行中执行以下命令:
```
FLUSH PRIVILEGES;
```
6. 退出 MySQL
在 MySQL 命令行中执行以下命令:
```
exit;
```
7. 重启 MySQL 服务
在终端中执行以下命令:
```
sudo systemctl start mysql
```
现在您应该可以使用新密码登录 MySQL 了。
Linux 忘记MySQL密码 怎么办
以下是5种Linux忘记MySQL密码找回方法:
1.使用--skip-grant-tables选项重置密码
```shell
# 停止MySQL服务
/etc/init.d/mysql stop
# 以跳过权限验证的方式启动MySQL服务
mysqld_safe --skip-grant-tables &
# 以root用户身份登录MySQL
mysql -u root
# 切换到mysql数据库
use mysql;
# 更新root用户的密码
update user set password=PASSWORD("new_password") where User='root';
# 刷新权限
flush privileges;
# 退出MySQL
quit;
# 重启MySQL服务
/etc/init.d/mysql restart
```
2.使用mysqladmin重置密码
```shell
# 停止MySQL服务
/etc/init.d/mysql stop
# 以跳过权限验证的方式启动MySQL服务
mysqld_safe --skip-grant-tables &
# 重置root用户的密码
mysqladmin -u root password "new_password"
# 重启MySQL服务
/etc/init.d/mysql restart
```
3.使用mysqld_safe启动MySQL服务并跳过权限验证
```shell
# 停止MySQL服务
/etc/init.d/mysql stop
# 以跳过权限验证的方式启动MySQL服务
mysqld_safe --skip-grant-tables &
# 以root用户身份登录MySQL
mysql -u root
# 切换到mysql数据库
use mysql;
# 更新root用户的密码
update user set password=PASSWORD("new_password") where User='root';
# 刷新权限
flush privileges;
# 退出MySQL
quit;
# 重启MySQL服务
/etc/init.d/mysql restart
```
4.使用init-file选项重置密码
```shell
# 创建一个文件,例如reset.sql,内容如下
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
# 停止MySQL服务
/etc/init.d/mysql stop
# 以指定文件的方式启动MySQL服务
mysqld_safe --init-file=/path/to/reset.sql &
# 重启MySQL服务
/etc/init.d/mysql restart
```
5.使用skip-grant-tables选项启动MySQL服务并创建新用户
```shell
# 停止MySQL服务
/etc/init.d/mysql stop
# 以跳过权限验证的方式启动MySQL服务
mysqld_safe --skip-grant-tables &
# 以root用户身份登录MySQL
mysql -u root
# 切换到mysql数据库
use mysql;
# 创建新用户
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';
# 授权新用户
GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost' WITH GRANT OPTION;
# 刷新权限
flush privileges;
# 退出MySQL
quit;
# 重启MySQL服务
/etc/init.d/mysql restart
```
阅读全文