phpmyadmin 同时连接多个服务器的数据库

一、使用场景

      一般来说,我们开发都会有测试环境和正式环境之分。当然,数据库也是要分开的。如果能用phpmyadmin直接访问两台服务器上的mysql就好了。这就是需求。

二、解决方案

1、找到phpmyadmin文件夹下面的config.sample.inc.php,重命名为config.inc.php。

2、打开config.inc.php,我们会发现里面有一些基本配置,是连接到localhost的。

3、如何连接单个远程服务器

//测试服务器数据库配置文件
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['host'] = '远程ip';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'pwd';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

我是通过在配置文件中直接写入远程ip等,实现了本地连接远程的目的。

4、如何连接多个远程服务器

//这里把远程服务器的用户名,密码等,拼接为一个多维数组
$connect_hosts = array(
  '1'=>array(
    "host"   => "localhost",  //本地服务器
    "user"   => "root",
    "password" => ""
  ),
  '2' => array(
    "host"   => "服务器IP", //服务器1
    "user"   => "username",
    "password" => "pwd"
  ),
  '3' => array(
    "host"   => "服务器ip", //服务器2
    "user"   => "username",
    "password" => "pwd"
  )
);

for ($i=1;$i<=count($connect_hosts);$i++) {

  /* Authentication type */
  $cfg['Servers'][$i]['auth_type'] = 'cookie';
  /* Server parameters */
  $cfg['Servers'][$i]['host'] = $connect_hosts[$i]['host'];   //修改host
  $cfg['Servers'][$i]['connect_type'] = 'tcp';
  $cfg['Servers'][$i]['compress'] = false;
  /* Select mysqli if your server has it */
  $cfg['Servers'][$i]['extension'] = 'mysql';
  $cfg['Servers'][$i]['AllowNoPassword'] = true;
  $cfg['Servers'][$i]['user'] = $connect_hosts[$i]['user'];  //修改用户名
  $cfg['Servers'][$i]['password'] = $connect_hosts[$i]['password']; //密码
  /* rajk - for blobstreaming */
  $cfg['Servers'][$i]['bs_garbage_threshold'] = 50;
  $cfg['Servers'][$i]['bs_repository_threshold'] = '32M';
  $cfg['Servers'][$i]['bs_temp_blob_timeout'] = 600;
  $cfg['Servers'][$i]['bs_temp_log_threshold'] = '32M';

}

这里需要注意:
(1)for循环的时候,i102i要从1开始,不要从0开始(2)配置文件中有个′i = 0’,记得注释掉。也就是注释掉无关的代码

三、结果展示

1、本地输入:localhost/phpmyadmin

这里我们选择自己要连接的服务器即可。

posted @ 2020-11-02 11:22  一个人的孤独自白  阅读(1178)  评论(0编辑  收藏  举报