为什么phpMyAdmin在22.04中安装后却无法工作?

为什么phpMyAdmin在22.04中安装后却无法工作?

我从 Ubuntu 20.04 升级到了 Ubuntu 22.04。升级之后,phpMyAdmin 就无法使用了。尝试打开 phpMyAdmin 时,会显示空白页或“连接被拒绝”页面。

来自 apache2 error.log:

> [Mon Sep 26 17:46:34.097236 2022] [php:error] [pid 1055] [client
> ::1:37214] PHP Fatal error: Uncaught mysqli_sql_exception: SELECT
> command denied to user 'peter'@'localhost' for table 'user' in
> /var/www/html/phpMyAdmin/libraries/classes/Dbi/DbiMysqli.php:199\nStack
> trace:\n#0
> /var/www/html/phpMyAdmin/libraries/classes/Dbi/DbiMysqli.php(199):
> mysqli->query()\n#1
> /var/www/html/phpMyAdmin/libraries/classes/DatabaseInterface.php(316):
> PhpMyAdmin\\Dbi\\DbiMysqli->realQuery()\n#2
> /var/www/html/phpMyAdmin/libraries/classes/DatabaseInterface.php(2390):
> PhpMyAdmin\\DatabaseInterface->tryQuery()\n#3
> /var/www/html/phpMyAdmin/libraries/classes/DatabaseInterface.php(2332):
> PhpMyAdmin\\DatabaseInterface->isUserType()\n#4
> /var/www/html/phpMyAdmin/libraries/server_common.inc.php(43):
> PhpMyAdmin\\DatabaseInterface->isSuperuser()\n#5
> /var/www/html/phpMyAdmin/index.php(116): include('...')\n#6 {main}\n
> thrown in /var/www/html/phpMyAdmin/libraries/classes/Dbi/DbiMysqli.php
> on line 199

以 root 身份授予自己表用户的所有权限

命令行显示phpmyadmin已安装且为最新版本:

> phpmyadmin is already the newest version (4:5.1.1+dfsg1-5ubuntu1).

要让它在 Ubuntu 上运行,需要做什么,而无需再次下载?

为了使 phpMyAdmin 正常工作,我进行了以下操作:

您应该让 MySQL 服务器正常运行,并且拥有数据库的用户权限。


要使 phpMyAdmin 在 Ubuntu 上运行:

  1. 删除 /var/www/html/ 中现有的 phpMyadmin 文件夹

  2. 从以下网址下载最新版本https://www.phpmyadmin.net/downloads/

  3. 解压缩文件

  4. 重命名文件夹 phpMyAdmin(删除语言部分)

  5. 将其移动到 /var/www/html/

  6. 设置权限:

    sudo chown -R pedro /var/www/html

    sudo chgrp -R www-data /var/www/html/

    sudo chmod -R 770 /var/www/html/

    sudo chmod g+s /var/www/html/

此后,它就可以正常工作了!


我应该怎么做才能让它以 Ubuntu 风格运行?

在 Ubuntu 中,phpMyAdmin 文件夹应该放在哪里??

现在,localhost/phpMyAdmin/ 指向 /var/www/html/phpMyAdmin/ 的索引文件,并且一切正常。

相关内容