我刚刚在新的 ubuntu 20 安装中安装了 apache2、php7 和 mariadb。我在启动 phpmyadmin 时遇到了问题,但使用 ask ubuntu 中的旧答案解决了该问题。但现在我无法从 phpmyadmin 登录我的 mariadb。我只需在终端上输入 sudo mysql 即可登录,唯一需要的密码是我的 sudo 密码。我认为问题出在下面的 mariadb 文档中,但我不知道如何修复它。不知何故,我似乎需要将安全性改回密码,但我不知道该怎么做:“MariaDB 从 10.4.3 开始在 MariaDB 10.4.3 及更高版本中,默认安装 unix_socket 身份验证插件,默认情况下由 'root'@'localhost' 用户帐户使用。有关更多信息,请参阅 MariaDB 10.4 中的身份验证。
unix_socket 身份验证插件允许用户在通过本地 Unix 套接字文件连接到 MariaDB 时使用操作系统凭据。此 Unix 套接字文件由套接字系统变量定义。
unix_socket 身份验证插件的工作原理是使用 SO_PEERCRED 套接字选项调用 getsockopt 系统调用,这允许它检索连接到套接字的进程的 uid。然后它能够获取与该 uid 关联的用户名。一旦它获得用户名,它将把连接用户身份验证为具有相同用户名的 MariaDB 帐户。
unix_socket 身份验证插件不适合多个 Unix 用户访问单个 MariaDB 用户帐户。“我尝试过:<Directory "/var/www/html"> AllowOverride All 和 Include /etc/phpmyadmin/apache.conf
答案1
您不能使用 root 来管理 phpMyAdmin。您需要在数据库中创建一个具有所有权限的单独帐户,并将其用于 phpMyAdmin。– Matigo 2 天前我按照教程中的步骤操作https://phoenixnap.com/kb/how-to-create-mariadb-user-grant-privileges设置新用户并且一切运行正常,正如 Matigo 所建议的那样。