mysql -u root -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost'
时间: 2023-09-08 20:09:29 浏览: 186
这个错误提示表明你正在尝试使用 root 用户连接到 MySQL 数据库,但是密码不正确或者该用户没有权限访问。你可以尝试以下几个步骤来解决这个问题:
1. 确认你输入的密码是否正确。在输入密码时,终端不会显示任何字符,所以请确保你正确地输入了密码。
2. 如果你忘记了 root 用户的密码,可以尝试使用以下命令重置密码:
```
sudo systemctl stop mysqld
sudo mysqld_safe --skip-grant-tables &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
```
这个命令将会停止 MySQL 服务并跳过权限验证,在不输入密码的情况下直接进入 MySQL 控制台。然后你可以使用 `ALTER USER` 命令来设置一个新密码。
3. 如果你确定密码正确,但仍然无法连接到 MySQL 数据库,可能是因为 root 用户没有在本地连接时授权。你可以尝试使用以下命令授权 root 用户:
```
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
这个命令将会授权 root 用户在本地连接时访问所有数据库和表,并且具有授权他人的权限。
如果尝试了以上步骤仍然无法解决问题,你可以参考 MySQL 文档或者寻求专业人士的帮助。
阅读全文