下面是详细讲解“ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''”的完整攻略:
安装MySQL
- 打开终端,输入以下命令,更新系统包列表:
shell
sudo apt update
- 安装MySQL Server:
shell
sudo apt install mysql-server
- 在安装过程中,会出现MySQL Root用户的密码设置,需要输入并确认新密码。
解决ERROR 1698 (28000): Access denied for user ''root''@''localhost''
出现该错误原因为root用户没有除了本地登录以外的远程连接权限。
- 进入MySQL:
shell
sudo mysql -u root -p
-
输入之前设置的MySQL Root用户的密码,进入MySQL。
-
通过以下命令检查当前MySQL的用户和权限设置情况:
sql
SELECT user,authentication_string,plugin,host FROM mysql.user;
如果输出结果类似下面这样,表示root用户是只能本地连接:
+------------------+------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+------------------------+-----------------------+-----------+
| root | <密文> | auth_socket | localhost |
+------------------+------------------------+-----------------------+-----------+
- 执行以下命令,修改root用户的访问权限:
sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
这里的“yourpassword”是自己设定的新密码,可以是任意长度、任何字符的组合,注意不要忘记加上单引号。
示例命令:
sql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypassword';
- 执行以下命令,刷新MySQL权限:
sql
FLUSH PRIVILEGES;
- 最后,通过以下命令来检查root用户的新权限是否生效:
sql
SELECT user,authentication_string,plugin,host FROM mysql.user;
如果输出结果类似下面这样,表示root用户现在可以从任何主机上连接到MySQL服务器了:
+------------------+------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+------------------------+-----------------------+-----------+
| root | <密文> | mysql_native_password | localhost |
| root | <密文> | mysql_native_password | % |
+------------------+------------------------+-----------------------+-----------+
这就是在ubuntu18.0.4上安装MySQL并解决“ERROR 1698 (28000): Access denied for user ''root''@''localhost''”问题的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ubuntu18.0.4安装mysql并解决ERROR 1698 (28000): Access denied for user ”root”@”localhost” - Python技术站