使用phpMyAdmin连接外部服务器

29

我在本地机器上安装了phpMyAdmin。如何使其连接到外部服务器?


这个回答解决了你的问题吗?使用PHPMyAdmin管理Amazon RDS - Nguyen Tan Dat
这个回答解决了你的问题吗?使用PHPMyAdmin管理Amazon RDS - undefined
6个回答

34

在配置文件中,将“host”变量更改为指向外部服务器。配置文件名为config.inc.php,它位于主phpMyAdmin文件夹中。应该有一行像这样的代码:

$cfg['Servers'][$i]['host'] = 'localhost';

只需将localhost更改为您的服务器IP地址。

注意:您可能需要配置外部服务器以允许远程连接,但我在共享主机上已经多次完成此操作,所以应该没问题。


请问一下配置文件的路径是什么? - Neveen
1
它是位于phpMyAdmin文件夹中的名为config.inc.php的文件。 - DisgruntledGoat
我做了之前的解决方案,但它要求我输入密码,却无法登录,我不知道问题出在哪里? - Neveen
很难说。您确定使用了外部服务器的正确用户名和密码吗? - DisgruntledGoat

18

要设置外部数据库并仍然使用本地数据库,您需要编辑config.inc.php文件:

On Ubuntu: sudo gedit /etc/phpmyadmin/config.inc.php

文件大致设置如下:

if (!empty($dbname)) {

    //Your local db setup

     $i++;
}

你所需要做的是通过复制和粘贴“your local db setup”来创建一个副本,并将其放到下面代码所示的 IF 语句之外,然后将主机更改为外部 IP。例如,我的IP是:

$cfg['Servers'][$i]['host'] = '10.10.1.90:23306';

如果您不需要更改它们,可以保留默认值。

保存并刷新您的PHPMYADMIN登录页面,然后会出现一个新的下拉菜单。现在您应该可以开始使用了。


编辑:如果您想要在登录页面上为服务器命名以便选择,而不仅仅是使用IP地址进行选择,请将以下内容添加到服务器设置中:

$cfg['Servers'][$i]['verbose'] = 'Name to show when selecting your server'; 

如果你有多个服务器配置,那就很好。


当您添加选择时,如何将其与特定的IP关联起来? - Tanner
@Tanner,这发生在/etc/phpmyadmin/config.inc.php文件中(主机)。 - Jarrod

3

使用PhpMyAdmin 4.5.4.1deb2ubuntu2版本,您可以在/etc/phpmyadmin/config-db.php文件中设置变量。

因此,将$dbserver设置为您的服务器名称,例如:$dbserver='mysql.example.com';

<?php
##
## database access settings in php format
## automatically generated from /etc/dbconfig-common/phpmyadmin.conf
## by /usr/sbin/dbconfig-generate-include
##
## by default this file is managed via ucf, so you shouldn't have to
## worry about manual changes being silently discarded.  *however*,
## you'll probably also want to edit the configuration file mentioned
## above too.
##
$dbuser='phpmyadmin';
$dbpass='P@55w0rd';
$basepath='';
$dbname='phpmyadmin';
$dbserver='localhost';
$dbport='';
$dbtype='mysql';

2

在4.0版本及以上,我们需要创建一个“config.inc.php”文件或将“config.sample.inc.php”重命名为“config.inc.php”;

在我的情况下,我还使用一个mysql服务器来处理每个环境(dev和production):

/* others code*/  
$whoIam = gethostname();
switch($whoIam) {
    case 'devHost':
        $cfg['Servers'][$i]['host'] = 'localhost';
        break;
    case 'MasterServer':
        $cfg['Servers'][$i]['host'] = 'masterMysqlServer';
        break;
} /* others code*/ 

不太好,忘记了剩余的 ?> :( 已经修正。 - davidkonrad
是的...将文件config.sample.inc.php重命名为config.inc.php,然后更改: $cfg['Servers'][$i]['host'] = 'localhost'; 为您的远程MySQL服务器地址。例如,MySQL在此IP上... $cfg['Servers'][$i]['host'] = '192.168.1.200:3306'; - Mang Jojot

0
在config.inc.php文件中,删除所有包含"$cfg['Servers']"的行,只保留"$cfg['Servers'][$i]['host']"。

0

您可以使用phpMyAdmin安装页面(./phpmyadmin/setup)为自己生成一个新的配置文件(config.inc.php)。此文件位于phpMyAdmin目录的根目录下。

只需按照设置页面的提示创建配置文件夹、添加服务器,然后点击“保存”按钮即可。这将在您刚刚创建的配置文件夹中创建一个新的配置文件。

现在,您只需要将config.inc.php文件移动到主phpMyAdmin目录中,或者只是复制涉及服务器的行,如果您已经完成了一些旧的配置,并希望保留它们。

不要忘记之后删除配置文件夹。


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