zoukankan      html  css  js  c++  java
  • 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';

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

  • 相关阅读:
    C语言(十八)综合
    C语言(十七)链表
    Redis使用
    fastdb 使用
    CentOS 7.3 安装Oracle 11gR2 64位
    VMWare 12 安装CentOS 7.3 和 Red Hat Enterprise Linux 7.3
    Python学习
    Debian的软件包管理工具命令 (dpkg,apt-get)详解
    Debian8安装Vim8
    VMware12下安装Debian8.5
  • 原文地址:https://www.cnblogs.com/zhouzme/p/5758410.html
Copyright © 2011-2022 走看看