Ubuntu 配置 phpMyAdmin 的方式是什么,以便我可以使用它来管理多个 MySQL 服务器?数据库参数设置在 中/etc/dbconfig-common/phpmyadmin.conf
,但其中只有一个空间用于单个服务器的连接参数。我可以将其破解为/etc/phpmyadmin/config-db.php
and /etc/phpmyadmin/config.inc.php
,但我认为必须有一种更优雅的方式。
Ubuntu 配置 phpMyAdmin 的方式是什么,以便我可以使用它来管理多个 MySQL 服务器?数据库参数设置在 中/etc/dbconfig-common/phpmyadmin.conf
,但其中只有一个空间用于单个服务器的连接参数。我可以将其破解为/etc/phpmyadmin/config-db.php
and /etc/phpmyadmin/config.inc.php
,但我认为必须有一种更优雅的方式。
相当老的问题,但仍然与搜索相关。
phpMyAdmin 对配置文件使用纯 PHP,并使用
$cfg['Servers']
数组来获取配置的服务器。因此,正确的
/etc/phpmyadmin/conf.d
方法是为您要添加的每台服务器添加一个新的配置文件。只需要结束文件名.php
即可将它们包含在内,但your_new_server.inc.php
为了保持一致性,这是一个好主意。给定配置文件的最小内容是:
如另一个答案所述,您可以检查/usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php文件以获取更多参数。
重要提示:您必须为每个新文件增加数组的索引 (2),如果您想继续连接到 localhost,请避免使用 1。
如果打包 phpMyAdmin 的人考虑过,他们可以
$i
在包含conf.d
目录中文件的 foreach 中添加递增变量,因此您可以将其用作索引而不必担心手动增加它,但遗憾的是事实并非如此。你可以自己做。[2019]:较新的 PHP 版本允许这种更简洁的替代语法:
我认为这是最准确的方法:
首先设置密码:
然后禁用安全性:
然后转到http://yourserver/phpmyadmin/setup(这里浏览器要求进行身份验证,用户是管理员,密码是您在第一个命令中编写的密码),使用该向导配置您的服务器,一旦完成,把再次安全:
我假设了以下几点:
/etc/phpmyadmin/
将是添加配置的最合乎逻辑的地方/etc/phpmyadmin/config-db.php
是默认(本地?)配置的位置。这是,因为它是默认的,只有一个 db/etc/phpmyadmin/config.inc.php
读取默认数据库,因此它有一个。至少使用了这个,所以你有一个数据库。如果您的配置config-db.php
发生更改,则会更改,因此不会修改对文件的“本地”更改因此我的结论是在这部分下面添加一个额外的服务器:
这看起来是最好的地方。
根据 phpMyAdmin文档
$cfg['Servers']
,您可以在文件中定义的数组中定义多个服务器config.inc.php
。主配置文件存储在
/etc/phpmyadmin/config.inc.php
. 该文件包括/var/lib/phpmyadmin/blowfish_secret.inc.php
/var/lib/phpmyadmin/config.inc.php
/etc/phpmyadmin/config-db.php
生成的DB 值 。可以使用修改/etc/dbconfig-common/phpmyadmin.conf
/usr/sbin/dbconfig-generate-include
/etc/dbconfig-common/phpmyadmin.conf
dpkg-reconfigure -plow phpmyadmin
/etc/phpmyadmin/conf.d/*.php
一些示例配置片段包含
/usr/share/doc/phpmyadmin/examples
在config.manyhosts.inc.php
. 该文件可以添加到/etc/phpmyadmin/conf.d
. 它通过i
在创建任何主机之前将变量重置回 1 来工作,以便它覆盖在/etc/phpmyadmin/config.inc.php
.如果您想进行更高级的配置,您可能需要更改
/etc/phpmyadmin/config.inc.php
文件并可能使用/etc/phpmyadmin/conf.d
.要为旧配置文件添加对其他配置的支持,您可以创建目录
/etc/phpmyadmin/conf.d
,然后将以下 PHP 代码添加到底部/etc/phpmyadmin/config.inc.php
: