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)';



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



我明明在配置中已经设置了只有 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';

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

时间: 2024-09-16 19:30:16

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

phpMyAdmin隐藏mysql与information_schema数据库

本文收集内容: • phpMyAdmin隐藏多个数据库(information_schema|mysql|test) • phpMyAdmin禁止/不允许用户修改密码 phpMyAdmin隐藏多个数据库 information_schema|mysql|test 编辑/libraries/config.default.php 隐藏单个数据库:  代码如下 复制代码 $cfg['Servers'][$i]['hide_db'] = 'information_schema' 隐藏多个数据库:  代码

WordPress数据库修改表前缀导致错误及解决办法

WordPress 默认的数据表前缀是『wp_』:(注:这是默认的数据表,如果安装了其他插件有可能生成其他 wp_ 开头的数据表)     wp_commentmeta    wp_comments    wp_links    wp_options    wp_postmeta    wp_posts    wp_terms    wp_term_relationships    wp_term_taxonomy    wp_usermeta    wp_users 第一步:那么第一件事就是把

ThinkPHP3.2.3数据库设置新特性

 前篇文章,我们总结了下ThinkPHP3.2中所产生的新变化,本文我们来详细看下关于数据库这块有哪些新特性,非常细致,有需要的小伙伴参考下.     ThinkPHP3.2.3版本数据库驱动采用PDO完全重写,配置和使用上面也比之前版本更加灵活和强大,我们来了解下如何使用. 首先,3.2.3的数据库配置信息有所调整,完整的数据库设置包括:   代码如下: /* 数据库设置 */ 'DB_TYPE' => '', // 数据库类型 'DB_HOST' => '', // 服务器地址 'DB_N

ThinkPHP3.2.3数据库设置新特性_php实例

ThinkPHP3.2.3版本数据库驱动采用PDO完全重写,配置和使用上面也比之前版本更加灵活和强大,我们来了解下如何使用. 首先,3.2.3的数据库配置信息有所调整,完整的数据库设置包括: 复制代码 代码如下: /* 数据库设置 */  'DB_TYPE'               =>  '',     // 数据库类型  'DB_HOST'               =>  '', // 服务器地址  'DB_NAME'               =>  '',       

详解MySQL数据库设置主从同步的方法_Mysql

简介 MySQL主从同步是目前使用比较广泛的数据库架构,技术比较成熟,配置也不复杂,特别是对于负载比较大的网站,主从同步能够有效缓解数据库读写的压力. MySQL主从同步的机制: MySQL同步的流程大致如下:      1.主服务器(master)将变更事件(更新.删除.表结构改变等等)写入二进制日志(master log).      2.从服务器(slave)的IO线程从主服务器(binlog dump线程)获取二进制日志,并在本地保存一份自己的二进制日志(relay log)     

php批量删除数据库下指定前缀的表以prefix_为例_php技巧

如何用php批量删除数据库下所有前缀为prefix_的表. 例子,统一删除前缀为"prefix_"的表. <?php //设置数据库连接信息.数据库服务器地址,数据库用户名,数据密码 mysql_connect('数据库主机','数据库用户名','数据库密码'); //设置查询的数据库名称 mysql_select_db('数据库名'); $rs=mysql_query('show tables'); while($arr=mysql_fetch_array($rs)) { //

菜鸟学DreamWeaver做ASP:数据库设置篇

第二步:数据库设置篇 1,首先确认站点根目录下有专门的数据库存放目录,比如d:\newgate下面的database文件夹(有则Ok,无则新建). 接着打开Microsoft Access DBMS,"文件"---"新建..."数据库,在弹出的对话框中选择存放路径并命名. 2,在新建的数据库中"使用设计器创建表",弹出的"表1"中设计你的相关字段,注意各自的"数据类型",还有一点很重要:字段ID,类型自动编

phpMyAdmin导入数据库超过限制大小的解决方案

网站建立时间久了,数据库会越来越大,数据库导入导出时经常会有数据库超过限制大小情况,普通的修改上传限制大小已经无法满足你的需求了,接下来就需要修改下config.inc.php 文件来实现导入超大型数据库,在这个配置文件里找到: $cfg['UploadDir'] = "; $cfg['SaveDir'] = "; 将其改成: $cfg['UploadDir'] = 'upload'; $cfg['SaveDir'] = 'save'; 然后在 phpMyAdmin 的目录下创建两个空

sql 创建数据库设置ansi_nulls,quoted_identifier

问题描述 sql 创建数据库设置ansi_nulls,quoted_identifier 什么时候ansi_nulls 需要设置为on/off 什么情况下quoted_identifier需要设置为on/off 是根据管理员喜好添加的吗? 请详细说明 解决方案 当 SET QUOTED_IDENTIFIER 为 ON 时,标识符可以由双引号分隔,而文字必须由单引号分隔.当 SET QUOTED_IDENTIFIER 为 OFF 时,标识符不可加引号,且必须符合所有 Transact-SQL 标识