我无法在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。
答案 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)
答案 3 :(得分:0)
PMA代码的相关部分为PMA__getRelationsParam
中的libraries/relation.lib.php
。除了确认是否存在8个表之外,它还检查pma_column_info
表是否包含mimetype
,transformation
和transformation_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
进程的用户的主要组。
我希望这有助于任何人...