我可以隐藏数据库来写这一行
$cfg['Servers'][$i]['hide_db'] = 'information_schema';
在config.inc.php文件中pf phpmyadmin。
等网址访问此数据库的内容如何删除information_schema数据库的完整访问权限?
答案 0 :(得分:16)
您甚至可以使用管道分隔符隐藏多个DB
$cfg['Servers'][$i]['hide_db'] = 'information_schema|performance_schema|mysql';
答案 1 :(得分:11)
我在外部目录中安装了phpmyadmin,但这些方法对我不起作用。
打开phpmyadmin
Settings > Features > General > database > Hide databases
输入您要隐藏的数据库,如下所示
information_schema|performance_schema|mysql
答案 2 :(得分:5)
如果您还想限制用户从您发布的网址访问information_schema并且您对hide_db
配置指令不满意,那么您可以在phpmyadmin的config.inc.php文件中添加以下行
if($_GET['db'] == 'information_schema')exit;
答案 3 :(得分:0)
我在最高评价的答案中写下这条评论,但我还没有足够的声誉。
指定多个数据库时,请记住它在RegEx规则下运行(作为帮助状态)。所以虽然可能不太可能,但是把信息放入" information_schema | performance_schema | mysql"还会隐藏包含这些字符串的任何数据库。
相反,把" ^ information_schema | performance_schema | mysql $"。在正则表达式中,^表示字符串的开头,$表示结束。
这意味着您还可以通过部分字符串隐藏数据库。虽然您应始终通过MySQL用户权限控制数据库访问,但您可以使用部分匹配来隐藏数据库组。例如,如果您不希望所有测试数据库都可见,您可以将" ^ test _"在隐藏数据库字段中,它将隐藏以test_开头的所有数据库。 EG test_123,test_456。