我在 Debian 服务器上安装了 phpmyadmin,在我看来 phpmyadmin 似乎忽略了/etc/phpmyadmin/config.inc.php。
我创建了一个只能读取一个数据库的用户。当我登录到 phpmyadmin 时,我收到错误消息:
Connection for controluser as defined in your configuration failed.
所以我查看了配置文件。在我的例子中,它应该是/etc/phpmyadmin/config.inc.php
现在(经过多次更改)此文件包含以下内容:
$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
$cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
$cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['controluser'] = 'phpmyadmin';
$cfg['Servers'][$i]['controlpass'] = 'secret_password';
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['hide_db'] = '^(information_schema|performance_schema|mysql|phpmyadmin)$';
这个文件的访问权限是这样设置的:
-rw-r--r-- 1 root root config.inc.php
我将此文件的所有权更改为 www-data:www-data 但没有成功。 我能够以用户 phpmyadmin 身份登录并通过 phpmyadmin 编辑数据库,因此凭据应该没问题。 我创建并插入了用户 pma 但没有成功。
在/var/lib/phpmyadmin/中还有另一个空的 config.inc.php
-rw-r----- 1 root www-data 0 Jan 28 2014 config.inc.php
现在的问题是,当我以只读权限的用户身份登录时,我无法浏览任何数据库。如果我尝试我得到错误:
#1142 - INSERT,DELETE command denied to user xxx for table 'pma__recent'
我必须授予用户访问数据库 phpmyadmin 的权限才能读取数据库。我不想这样做。
在授予对 phpmyadmin 数据库的访问权限后,我尝试至少隐藏数据库。没有成功。
我阅读了整个互联网,我尝试了一切,我检查了一切。或者显然不是。
有没有办法(日志文件、 Debug模式等)检查配置文件和哪个配置文件由 phpmyadmin 处理?
有没有人发现我在这个配置中的错误?
Debian 版本是 7.11。 服务器版本:5.5.53-0+deb8u1 - (Debian) phpmyadmin版本:4.2.12deb2+deb8u2
谢谢,
雅罗斯瓦夫
最佳答案
但是尝试执行这些命令......我也遇到了同样的问题:
chmod 644 /etc/phpMyAdmin/config.inc.php
chmod 755 /etc/phpMyAdmin/
关于phpmyadmin 忽略 config.inc.php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43899031/