linux下root忘记mysql密码怎么办
时间: 2023-11-29 15:04:51 浏览: 26
可以通过以下步骤重置MySQL的root密码:
1. 停止MySQL服务:`sudo service mysql stop`
2. 启动MySQL服务并跳过权限检查:`sudo mysqld_safe --skip-grant-tables &`
3. 连接到MySQL服务器:`mysql -uroot`
4. 切换到mysql数据库:`use mysql;`
5. 更新root用户的密码:`update user set authentication_string=password('newpassword') where user='root';`
6. 刷新权限:`flush privileges;`
7. 退出MySQL:`exit;`
8. 停止MySQL服务器:`sudo service mysql stop`
9. 启动MySQL服务器:`sudo service mysql start`
10. 使用新密码登录MySQL:`mysql -u root -p` (输入新密码)
相关问题
linux下mysql忘记root密码
如果在Linux下忘记了MySQL的root密码,可以通过以下步骤重置密码:
1. 停止MySQL服务:sudo service mysql stop
2. 启动MySQL服务并跳过权限验证:sudo mysqld_safe --skip-grant-tables &
3. 连接到MySQL:mysql -u root
4. 在MySQL中更新root用户的密码:UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
5. 刷新权限:FLUSH PRIVILEGES;
6. 退出MySQL:exit
7. 停止MySQL服务:sudo service mysql stop
8. 启动MySQL服务:sudo service mysql start
这样就可以使用新密码登录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
```