phpMyAdmin高级功能的问题

时间:2010-04-22 05:15:29

标签: mysql phpmyadmin

我无法在Windows XP系统上对MySQL / Apache / phpMyAdmin安装进行最后的修改。我试图摆脱phpMyAdmin中的所有错误消息,除了与“高级功能”相关的消息外,我已经摆脱了所有这些消息。我的确切错误信息是:

The additional features for working with linked tables have been deactivated. To find out why click here.

我已经阅读了错误的原因,但我必须遗漏一些东西,因为我仍然无法得到警告消失。这就是我所做的:

根据phpMyAdmin指令创建链接表基础结构(默认名称“phpmyadmin”),并在“config.inc.php”文件中启用“pmadb”。

在我的“config.inc.php”文件中指定(启用)表名(总共有9个表)。

创建了一个“controluser”,并且只授予每个phpMyAdmin指令的Select privilages

在“config.inc.php”文件中调整“controluser”pma和“controlpass”pmapass

从我可以看到这些是phpMyAdmin就此主题提供的所有指令,我无法在phpMyAdmin中找到有关“高级功能”细节的任何教程。

任何帮助都会受到赞赏,温柔,这是我第一次使用MySQL / phpMyAdmin

如果有一些信息你需要帮助我,请让我知道它是什么,我会帮你的。

编辑:2010年4月30日

为了使这更容易,我在刚刚安装的WAMP中卸载了所有内容(Apache,PHP,MySQL和phpMyAdmin)。我希望WAMP提供的自动配置可以解决我的问题,但我有完全相同的问题!这个警告让我感到沮丧,这已成为一种自豪感!

编辑:2010年5月14日

谢谢大家的建议,但我发现我的问题的答案是使用XAMPP而不是WAMP。在不到5分钟的时间里,我开始运行XAMPP并且没有任何错误。 XAMPP用户界面也好多了。对于任何对WAMP感到沮丧的人,我都建议使用XAMPP。

5 个答案:

答案 0 :(得分:3)

几乎放弃了这个主题后,我应用了以下SQL和中提琴!它来自链接表主题下的phpAdmin文档。

GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT SELECT (
    Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
    Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
    File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
    Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
    Execute_priv, Repl_slave_priv, Repl_client_priv
    ) ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
    ON mysql.tables_priv TO 'pma'@'localhost';

答案 1 :(得分:1)

问题可能是帐户的权限 - 我的本地设置会向用户/控制用户授予所有权限。

这是我的config.inc.php的哪一部分:

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user']          = 'USER';      // MySQL user
$cfg['Servers'][$i]['password']      = 'PASSWORD';          // MySQL password (only needed
                                                    // with 'config' auth_type)

/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysql';
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'USER';
$cfg['Servers'][$i]['controlpass'] = 'PASSWORD';
/* Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
$cfg['Servers'][$i]['bookmarktable'] = 'pma_bookmark';
$cfg['Servers'][$i]['relation'] = 'pma_relation';
$cfg['Servers'][$i]['table_info'] = 'pma_table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma_table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma_pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma_column_info';
$cfg['Servers'][$i]['history'] = 'pma_history';
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';

和phpmyadmin报告的相关部分:

User        Host        Type        Privileges      Grant   Action
-----------------------------------------------------------------------
USER        %           global      ALL PRIVILEGES  Yes     Edit Privileges
USER        localhost   global      ALL PRIVILEGES  Yes     Edit Privileges

这可能不是最安全的设置,但这适用于内部开发机器(我也厌倦了警告信息)。我注意到Debian版本提出的解决方案之一是为pma用户提供几乎所有权限,而不仅仅是SELECT。

显然,我已将USER和PASSWORD替换为我自己的用户和密码。

答案 2 :(得分:0)

解决方案已在serverfault.com/#answer-66712

答案 3 :(得分:0)

PMA代码的相关部分为PMA__getRelationsParam中的libraries/relation.lib.php。除了确认是否存在8个表之外,它还检查pma_column_info表是否包含mimetypetransformationtransformation_options的行。 PHPMyAdmin手册有关于如何设置该表的further information。或者,如果您不需要该功能并且只想取消警告,则可以设置PmaNoRelation_DisableWarning

编辑:您可以调试源代码以查找确切的问题。添加

var_dump(compact('mime_field_mimetype', 'mime_field_transformation', 'mime_field_transformation_options'));
var_dump($cfgRelation); 
die;

PMA__getRelationsParam函数的末尾,就在return语句之前,然后加载PMA并查看哪一项检查是错误的。

答案 4 :(得分:0)

我最近在CentOS 6.5上的REMI包存储库中遇到了与phpMyAdmin 4.2.9相同的问题。

在错误的地方挖了很多烦人之后我终于发现这是我自己的错,因为我用Apache替换了我的nginx + php-fpm WEB服务器,之后我没有管理正确设置权限。

问题是,phpMyAdmin无法访问/etc/phpMyAdmin/config.inc.php

上的配置

我的解决方案是将目录/etc/phpMyAdmin的所有者组更改为运行php-fpm进程的用户的主要组。

我希望这有助于任何人...