这事我也遇到了,网上搜不到答案,这里也没人回答,自己琢磨了一下,搞定了,但是这方法不一定100%能用,权当参考吧。
故障来由:
pma表原本是记录其他表的高级功能的,也就是说,只要开启phpmyadmin的高级功能,就会产生pma表,读取数据表时就会自动查询pma表。删除了pma表,读取其他数据表时,查不到pma表的设置记录,自然就炸了。
解决过程:
既然知道pma表和phpmyadmin的高级功能有关,我就在虚拟机新建了一个服务器环境。
初始环境的phpmyadmin没有开启高级功能,界面会提示安装,然后点击进入开启高级功能的页面。
此时网址栏是http://localhost/phpmyadmin/chk_rel.php,原来是打开了phpmyadmin文件夹下的chk_rel.php文件,那得了,直接打开文件看看内容。
请看下图:
chk_rel.php文件里的代码内容很少,看了下发现红框代码似乎和修复PMA表有关,意思是一个修复PMA表的函数,行,那就直接抽出来,放到类似绿框这样的位置让它可以无条件运行。
根据题主的报错描述,是删除了bbs数据库里的pma数据库,此时需要新建一个bbs数据库,空库就可以了。
再刷新http://localhost/phpmyadmin/chk_rel.php页面,这个时候,phpmyadmin会在原来PMA数据库被删除的地方新建一个PMA数据库,当然,根据题主的情况,是在bbs数据库,这时就大致修复完毕了。
另外,
要是题主不希望pma放在bbs数据库的话,可以新建一个名为phpmyadmin的数据库(这是默认设置,当然也可以在根目录下的config.inc.php文件里改,没有config.inc.php文件的话,可以拷贝同级目录下的config.sample.inc.php文件改名成config.inc.php),把在bbs数据库里恢复的pma表复制到phpmyadmin数据库就可以啦。
此时,原先在bbs数据库里的pma表即可删除。
好了,现在又可以愉快的使用phpmyadmin了。