leo@ubuntu:~$ mysql -uroot -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost'
时间: 2023-12-16 16:28:29 浏览: 93
这个错误提示表明您输入的密码不正确,因此无法登录MySQL。您可以尝试使用以下方法来解决这个问题:
1. 确认您输入的密码是否正确,如果不确定可以尝试重置密码。
2. 确认您是否有权限以root用户身份登录MySQL,如果没有可以尝试使用其他有权限的用户登录。
3. 确认MySQL服务是否正在运行,如果没有可以尝试启动MySQL服务。
以下是一个可能的解决方案:
1. 重置root用户的密码:
```shell
sudo systemctl stop mysql
sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set authentication_string=password('newpassword') where user='root';
flush privileges;
quit;
sudo systemctl start mysql
```
2. 使用其他有权限的用户登录MySQL:
```shell
mysql -u other_user -p
```
3. 启动MySQL服务:
```shell
sudo systemctl start mysql
```
相关问题
grs@ubuntu:~$ mysql -uroot -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost'
当你尝试使用命令 `mysql -uroot -p` 连接到本地 MySQL 服务器作为 root 用户时,收到了错误 1698(28000),这通常表示访问被拒绝。这可能有以下几个原因:
1. **密码错误**:你输入的 root 用户密码不正确。请确保你正在输入正确的密码。
2. **权限问题**:即使密码是对的,也可能因为账户权限设置不允许从 localhost 访问。检查你的 root 账户是否配置为只允许从特定 IP 地址或所有 IP 地址连接。
3. **MySQL 服务未启动**:确认 MySQL 服务是否正在运行。如果是 Ubuntu 系统,你可以使用 `sudo service mysql status` 或 `systemctl status mysql.service` 来查看。
4. **防火墙阻止**:如果系统有一个防火墙,它可能会阻止 MySQL 的外部连接。检查防火墙规则并允许来自 localhost 的连接。
5. **安全组限制**:如果你在云环境中,检查相关安全组设置,确认允许来自 localhost 的访问请求。
6. **账号锁定**:如果频繁输错密码,root 账户可能会被锁定,这时你需要解锁定账户才能继续。
要解决这个问题,根据上述排查结果,对症下药,尝试重新输入正确的密码,或者调整权限设置。如果以上都正常,可能是密码输入的问题,建议再次尝试或者重置密码。
hadoop@ubuntu:~$ mysql -u root -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost' 怎么重置密码
重置MySQL的root密码可以通过以下步骤进行:
1. 停止MySQL服务:可以使用以下命令停止MySQL服务:
```
sudo service mysql stop
```
2. 以跳过权限验证的方式启动MySQL服务:使用以下命令启动MySQL服务,并跳过权限验证:
```
sudo mysqld_safe --skip-grant-tables &
```
3. 连接到MySQL服务器:使用以下命令连接到MySQL服务器:
```
mysql -u root
```
4. 切换到mysql数据库:使用以下命令切换到mysql数据库:
```
use mysql;
```
5. 更新root用户的密码:执行以下SQL语句更新root用户的密码(将YOUR_NEW_PASSWORD替换为您想要设置的新密码):
```
update user set authentication_string=password('YOUR_NEW_PASSWORD') where user='root';
```
6. 刷新权限并退出:执行以下SQL语句刷新权限并退出MySQL:
```
flush privileges;
quit;
```
7. 重新启动MySQL服务:使用以下命令重新启动MySQL服务:
```
sudo service mysql start
```
请注意,这些步骤假设您具有sudo权限。如果您没有sudo权限,请联系系统管理员或具有sudo权限的用户来执行这些步骤。
阅读全文