Ubuntu如何配置phpMyAdmin以便我可以使用它来管理多个MySQL服务器?数据库参数是在中设置的/etc/dbconfig-common/phpmyadmin.conf
,但是其中只有一个服务器用于连接参数的空间。我可以将其入侵到/etc/phpmyadmin/config-db.php
和中/etc/phpmyadmin/config.inc.php
,但是我认为必须有一种更优雅的方法。
Ubuntu如何配置phpMyAdmin以便我可以使用它来管理多个MySQL服务器?数据库参数是在中设置的/etc/dbconfig-common/phpmyadmin.conf
,但是其中只有一个服务器用于连接参数的空间。我可以将其入侵到/etc/phpmyadmin/config-db.php
和中/etc/phpmyadmin/config.inc.php
,但是我认为必须有一种更优雅的方法。
Answers:
相当老的问题,但仍与搜索相关。
phpMyAdmin对配置文件使用普通的PHP,并且 $cfg['Servers']
数组来获取已配置的服务器。
因此,正确的方法是为要添加的/etc/phpmyadmin/conf.d
每个服务器添加一个新的配置文件。仅需以文件名结尾.php
才能包含它们,但这your_new_server.inc.php
是保持一致性的一个好主意。
给定配置文件的最小内容为:
<?php // let the interpreter know this is code
$cfg['Servers'][2]['host'] = 'THE_HOST';
$cfg['Servers'][2]['user'] = 'THE_USER';
$cfg['Servers'][2]['password'] = 'THE_PASSWORD';
如另一个答案所述,您可以检查/usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php文件中的更多参数。
重要信息:您必须为每个新文件增加数组的索引(2),如果要继续连接到本地主机,请避免使用1。
如果包phpMyAdmin的人考虑过,他们可以$i
在包含conf.d
目录中文件的foreach中添加增量变量,因此您可以将其用作索引,而不必担心手动增加它,但可惜不是这样。您可以自己做。
[2019]:较新的PHP版本允许此更简洁的替代语法:
<?php $cfg['Servers'][] = ['host'=>'my_host', 'user'=>'my_user', 'password'=>'my_pass'];
<?php
其他任何PHP脚本一样以开头。
我认为这是最准确的方法:
首先设置密码:
sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin
然后禁用安全性:
sudo pma-configure
然后转到http:// yourserver / phpmyadmin / setup(此处浏览器要求auth,用户是admin,密码是您在第一个命令中输入的密码),并使用该向导配置服务器,完成后,将再次安全:
sudo pma-secure
我假设以下内容:
/etc/phpmyadmin/
将是添加配置的最合逻辑的地方/etc/phpmyadmin/config-db.php
是默认(本地?)配置的位置。因为这是默认设置,所以仅一个数据库/etc/phpmyadmin/config.inc.php
读取默认数据库,因此它具有一个。至少要使用此数据库,所以您有一个数据库。如果您的配置config-db.php
发生更改,则更改,因此不会修改文件的“本地”更改因此,我的结论是在这部分下面添加了一个额外的服务器:
/* Configure according to dbconfig-common if enabled */
if (!empty($dbname)) {
//reading from config-db.php
}
//$i++ was allready done in if above
//Adding extra servers
$cfg['Servers'][$i]['host'] = 'serverhost.host.tld';
$cfg['Servers'][$i]['extension'] = 'mysqli';
//...etc
这看起来是最好的地方。
You can regenerate it using: dpkg-reconfigure -plow phpmyadmin
。我想你尝试过吗?(现在不在生产系统上执行此操作)除此之外...手动更改的文件应在更新前提示更新,然后再覆盖。
主配置文件存储在中/etc/phpmyadmin/config.inc.php
。该文件包括
/var/lib/phpmyadmin/blowfish_secret.inc.php
/var/lib/phpmyadmin/config.inc.php
/etc/phpmyadmin/config-db.php
其由产生/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
:
/* Support additional configurations */
foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) {
include($filename);
}