在 Ubuntu 中,如何配置 phpMyAdmin 以便使用它来管理多个 MySQL 服务器?数据库参数在 中设置/etc/dbconfig-common/phpmyadmin.conf
,但其中只有单个服务器的连接参数空间。我可以将其破解为/etc/phpmyadmin/config-db.php
和/etc/phpmyadmin/config.inc.php
,但我认为必须有更优雅的方法。
答案1
相当老的问题,但与搜索仍然相关。
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
在包含目录中文件的 foreach 中添加递增变量conf.d
,这样您就可以将其用作索引,而不必担心必须手动增加它,但遗憾的是事实并非如此。不过你可以自己做。
[2019]:较新的 PHP 版本允许使用这种更简洁的替代语法:
<?php $cfg['Servers'][] = ['host'=>'my_host', 'user'=>'my_user', 'password'=>'my_pass'];
答案2
我认为这是最准确的方法:
首先设置密码:
sudo htpasswd -c /etc/phpmyadmin/htpasswd.setup admin
然后禁用安全性:
sudo pma-configure
然后转到http://你的服务器/phpmyadmin/setup(此处浏览器要求进行身份验证,用户是管理员,密码是您在第一个命令中写入的),使用该向导配置您的服务器,完成后,再次设置安全性:
sudo pma-secure
答案3
我假设如下:
/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
这看起来是最好的地方。
答案4
主配置文件存储在 中/etc/phpmyadmin/config.inc.php
。此文件包括
- 河豚的秘密来自
/var/lib/phpmyadmin/blowfish_secret.inc.php
- 从 phpMyAdmin 安装脚本生成配置(diegueus9 的方法)
/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
:
/* Support additional configurations */
foreach (glob('/etc/phpmyadmin/conf.d/*.php') as $filename) {
include($filename);
}