使用 Adminer.php 时,我收到“拒绝用户‘root’@‘localhost’ 访问”错误。Ubuntu 18.04

使用 Adminer.php 时,我收到“拒绝用户‘root’@‘localhost’ 访问”错误。Ubuntu 18.04

拒绝用户“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 接口)。

相关内容