phpMyAdmin 链接表的附加功能尚未激活的问题
安装phpMyAdmin的时候我还是没有手动配置config文件,而是使用了它的setup功能。
除了 服务器名称 和 认证方式 以外都使用了默认值。
服务器名称自己随便输入了一个,认证方式修改成了http。
另外PMA数据库一页点了文本框后面的笔,把默认值填进去了。
(这时候我已经创建了控制用户,而且把用户名和密码输入进去了。创建的方法我会在后面讲)
保存设置后,输入MySQL的root用户名和密码,打开phpMyAdmin的主画面后,出现了如下的错误
点了 请点击此处之后 看到的画面如下
解决这个问题要注意的地方如下。
1.config文件的删除与拷贝处理
这个有可能不是问题的关键,但是我是在出现问题之后,阅读了官方的文档,然后进行了处理。
在setup画面保存了设置之后,把./config/config.inc.php拷贝到./也就是根目录下,然后删除./config目录
2.创建附加功能需要的数据库和表
在./scripts文件夹下存在一个create_tables.sql文件,将它导入MySQL,创建相应的表。
虽然附加功能还存在问题,但是已经可以使用phpMyAdmin来管理MySQL了,所以我通过下面的画面倒入了create_tables.sql文件
3.创建控制用户
这个我在出现问题之前就已经创建好了。
我使用MySQL的命令行工具,执行了一下的SQL命令。
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';
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
4.修改config.inc.php文件。
因为setup画面上没有设定tracking,所以在进行完上述处理之后第二幅图的其他项目都变成了绿色,但是最后一个项目还是红色。
所以自己在config.inc.php文件中追加了
$cfg['Servers'][$i]['tracking'] = 'pma_tracking';
这样一行。
5.存在config.inc.php文件的修改没有起作用的情况
在完成了1到3的设置后,访问主画面的时候,第二幅图的设置没有立即变成绿色。
为了验证config.inc.php文件的修改有没有效果,我把文件中一个很重要的设置'host'给改了,随便在后面加了几个a。
之后访问phpMyAdmin的时候就出错了。然后把那几个a去掉,再访问的时候,除了最后一项tracking,其他都是绿色了。
大概是因为浏览器或者apache缓存的问题吧,这个我还没太搞清楚。