我已经安装了MySQL,在安装过程中,我被要求输入一个密码,但是现在我的老师说我们应该可以在没有任何密码的情况下以root用户身份登录。
这是可行的,但我没有任何特权:

这不管用:

这也不是

发布于 2019-01-01 09:39:14
在root 5.7中以MySQL用户身份登录的默认配置需要使用身份验证套接字。这可以通过查询user表来验证:
mysql> select user,authentication_string,plugin from user where user='root';
+------+-----------------------+-------------+
| user | authentication_string | plugin |
+------+-----------------------+-------------+
| root | | auth_socket |
+------+-----------------------+-------------+
1 row in set (0.00 sec)来自文档:
套接字插件检查套接字用户名(操作系统用户名)是否与客户端程序指定的MySQL用户名与服务器匹配。如果名称不匹配,插件将检查套接字用户名是否与mysql.user系统表行的mysql.user列中指定的名称匹配。如果找到匹配项,则插件允许连接。
换句话说,mysql默认不具有根密码集--您需要以根用户身份运行phpMyAdmin或通过sudo运行(出于安全原因这两者都是坏主意),或者您更改身份验证方法并重置根密码,如数字海洋教程所示。
请注意,除了同名之外,MySQL用户和系统用户也不一样。您可以有一个MySQL用户jdoe,并且在主机系统上没有这样的用户。因此,root是MySQL的根用户,而不是系统用户。
更改插件和密码的
sudo mysql -u root。您应该看到一个问候语和mysql>提示符。这是MySQL shell,它不同于命令行shell,因此这里只接受SQL语句。如果一切顺利,您应该能够通过新密码从phpMyAdmin登录。如果出了问题,请尝试在没有权限检查的情况下重新启动服务器(这是步骤num )。3“数字海洋教程”)。对于其他问题,可以在这里或在数据库管理员-堆栈交换上提出另一个问题
https://askubuntu.com/questions/1105970
复制相似问题