拒绝用户“root”@“localhost”访问
我在使用 adminer.php 时遇到此错误,phpmyadmin 也无法工作。输入“sudo mysql”后,我可以在终端中运行 SQL 命令。我有一个以 root 为用户名的用户表,但没有密码字段。
如果有人能帮助我完成这个工作那就太好了。
答案1
这解决了我的问题-无法从 ubuntu 16.04 中的普通用户帐户以 mysql 用户 root 身份登录
我正在使用 Ubuntu 18.04,因此这些说明对我有用。
答案2
以 root 用户身份在终端中输入此命令
getsebool -a | grep http
并查看 httpd_read_user_content 如果它关闭,那么你必须通过这个命令将其打开
setsebool -P httpd_read_user_content on
然后重新启动 apache 服务器并尝试访问 adminer 和 phpmyadmin
答案3
在较新版本的 MariaDB/MySQL 中,Linux 上的默认 root 用户身份验证方法是 unix 套接字。换句话说,只有 root 用户本身才能登录 MySQL root 用户帐户(无需密码)。
由于 unix 套接字身份验证是最安全的身份验证方式,在我看来,最好的方法是创建一个新的类似 root 的用户(需要密码)以供 Adminer 使用(和/或其他需要通过密码对用户进行身份验证的 DB 接口)。