PHPmyAdmin默认数据库

14

好的,这更多是一个“保持我的房子有序”的问题。

PHPmyAdmin已安装,但默认安装了一堆数据库。

•cdcol(1) •information_schema(37) •mysql(24) •performance_schema(17) •phpmyadmin(8) •test •webauth(1)

最近我删除了其中一些,但之后我访问PHPmyAdmin时遇到了很多问题,必须重新安装。总之,简而言之,我可以快乐地删除这些内容而不影响我的系统吗?


2
考虑到这些表格包含用户账户和数据库信息等重要内容,我认为不应该删除它们。在删除之前,您可能需要了解这些表格的作用。 - user1832464
4个回答

21

删除cdcol数据库,它只是一个示例。对于你提到的其他表,请通过将以下内容添加到config.inc.php来隐藏它们。

$cfg['Servers'][$i]['hide_db']='^(information_schema|performance_schema|mysql|phpmyadmin|test|webauth)$';

3
这正是我在寻找的配置!+1 - Afonso Gomes
11
非常好,或者您可以在phpMyAdmin中设置它,在“设置 > 功能 > 通用 > 隐藏数据库”中使用正则表达式输入您的值。 - vonUbisch
非常好的解决方案,正是我所寻找的!+1 - Kashif Latif
值得注意的是,现在它是 设置 > 功能 > *数据库* > 隐藏数据库 - Alex W

19

并非所有列出的数据库都与phpMyAdmin有关。一些是MySQL正常运行所需的。

cdcol 可能是随 XAMPP 一起提供的CD收藏示例数据库。而webauth 也可能是XAMPP的一部分。

唯一与phpMyAdmin相关的数据库(你可能已经猜到)是phpmyadmin,你可以删除它,但让它存在会提高性能,并为phpMyAdmin增加更多功能。


0

如果您正在尝试通过自动化脚本或命令行来完成此操作:

  1. 创建一个名为 hidedb.sql 的文件,并添加以下内容:

    USE 'phpmyadmin';
    UPDATE `pma__userconfig` SET `config_data` = '{\"Server\\/hide_db\":\"(information_schema|performance_schema|mysql|phpmyadmin)\",\"collation_connection\":\"utf8mb4_unicode_ci\"}' WHERE `pma__userconfig`.`username` = 'phpmyadmin';
    
  2. 命令行方式(或脚本方式 - 更安全):

    $ sudo mysql -u root -p < hidedb.sql

当然,您需要输入sudo和mysql root数据库密码。

如果您正在使用只能以root身份运行的自动化脚本执行此操作:

注意:不是一个好主意!它会暴露您的root密码!

DB_PWD="my_password"
mysql -u root -p"$DB_PWD" < hidedb.sql

0

2022

你可以像这样输入表格名称: information_schema|performance_schema|mysql|phpmyadmin|test|webauth

插入 $cfg['Servers'][$i]['hide_db']='^(information_schema|performance_schema|mysql|phpmyadmin|test|webauth)$'; 对我没用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接