1698 - Access denied for user 'root'@'localhost'
时间: 2023-08-07 15:02:17 浏览: 107
ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''
回答: 错误"ERROR 1698: Access denied for user 'root'@'localhost'"是因为最近的Ubuntu安装中,默认情况下MySQL使用的是UNIX auth_socket插件。这个插件要求使用操作系统的身份验证来登录MySQL,而不是使用密码验证。\[1\]
解决这个问题的方法有几种。一种方法是创建一个新的MySQL用户,并使用该用户登录MySQL。首先,您可以使用以下命令登录MySQL并创建一个新用户:
```
$ sudo mysql -u root
mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;
```
然后,您可以使用以下命令重启MySQL服务:
```
$ sudo service mysql restart
```
现在,您可以使用新创建的用户登录MySQL。\[3\]
另一种方法是修改root用户的密码格式。您可以按照以下步骤进行操作:
1. 使用以下命令登录MySQL:
```
$ sudo mysql -u root
```
2. 在MySQL中,使用以下命令更改root用户的密码格式:
```
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
```
请将'your_password'替换为您想要设置的密码。
3. 退出MySQL并重启MySQL服务:
```
mysql> exit;
$ sudo service mysql restart
```
现在,您应该能够使用root用户和新密码登录MySQL。\[2\]
#### 引用[.reference_title]
- *1* *3* [MySQL-1698 : Access denied for user 'root'@'localhost'解决方法](https://blog.csdn.net/qq_40342015/article/details/82796710)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [ERROR 1698 (28000): Access denied for user ‘root‘@‘localhost‘解决方法](https://blog.csdn.net/m0_70885101/article/details/127414184)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文