PhpMyAdmin隐藏数据库设置同前缀失效的问题

用PhpMyAdmin默认会把所有数据库都显示出来,一些如 MySQL,information_schema之类的也会显示,这样既不安全看着也不爽,隐藏掉最好。

修改 config.inc.php 或者 config.sample.inc.php
默认应该是没有这两个配置的,可以手动添加上:

only_db 是只显示的数据库名, 用数组格式
hide_db 是执行要隐藏的数据库名,用正则匹配模式
根据你的实际情况,两个中选一个设置就行了

$cfg['Servers'][$i]['only_db'] = array('youqumob_union');
$cfg['Servers'][$i]['hide_db'] = '^(performance_schema|information_schema|phpmyadmin|mysql)';

phpmyadmin隐藏数据库


上面这些其实网上都有许多人提到过了,我这里主要是说明下面的问题:
如果你的数据库是用 _ 下划线来区分前缀分组的话,这是可能存在一个 BUG ,隐藏会失效
如下图:


phpmyadmin隐藏数据库

我明明在配置中已经设置了只有 union 能显示,其他的都给隐藏,但唯独同前缀的 count 仍然显示,拒不服从隐藏命令。

纠结了好半天,终于找到原因,是因为默认的数据库名分隔符的原因,换成其他符号就行了,但是 _ 下划线就不能进行分组管理了,这实际上个是个很好的功能,数据库多了看的头昏眼花,有个分组好得多,但因为这个 BUG 就用不了了,没心思改源码,将就了吧。

也可在配置文件中添加代码:

// 设置数据库名分隔符,默认是 _ 下划线
$cfg['NavigationTreeDbSeparator'] = '|';

尼玛,太坑爹了。。。发现一个很崩溃的问题,上面设置的时候,估计是面板上提交配置会被写入数据库,导致配置文件修改始终无效了,只有通过服务器命令行下进行修改恢复。

进入 phpmyadmin 数据库,如果你有装他这个数据库的话跟你的配置来。


这里写图片描述

更新下这个配置字段,去掉 hide_db 和 only_db 的配置

update pma__userconfig set config_data = '{"lang":"zh_CN","collation_connection":"utf8mb4_unicode_ci"}' where username = 'root';

这样就可以恢复了。。。无语

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值