linux无法登录mysql
时间: 2023-12-01 10:42:06 浏览: 66
当MySQL服务器运行时使用了`--skip-grant-tables`选项,它将不会执行任何需要权限的语句,因此您将无法使用用户名和密码登录MySQL。这通常是因为您忘记了MySQL管理员密码或者需要重置密码。您可以按照以下步骤重置MySQL管理员密码:
1. 停止MySQL服务:
```shell
sudo systemctl stop mysql
```
2. 使用以下命令启动MySQL服务,并跳过权限检查:
```shell
sudo mysqld_safe --skip-grant-tables &
```
3. 使用以下命令以root身份登录到MySQL:
```shell
mysql -u root
```
4. 在MySQL命令行中,使用以下命令更新root用户的密码:
```mysql
update mysql.user set authentication_string=password('新密码') where user='root' and host='localhost';
```
5. 刷新MySQL权限并退出MySQL命令行:
```mysql
flush privileges;
exit;
```
6. 停止MySQL服务:
```shell
sudo systemctl stop mysql
```
7. 使用以下命令启动MySQL服务:
```shell
sudo systemctl start mysql
```