我有两台服务器(ubuntu 10.04 amd 64)。一台用作网络服务器,另一台用作数据库服务器。网络服务器是唯一可以访问外部世界的服务器。我安装了带有 phpmyadmin 的 LAMP 堆栈。在数据库服务器上,我在 mysql 中创建了一个用户,其主机为网络服务器的内部 IP 地址。在网络服务器上,我编辑了 config-db.php 文件,将变量 $dbserver 指向数据库服务器的内部 IP 地址。当我转到 phpmyadmin 页面登录时,我应该使用新创建的用户登录。我无论如何也无法让这个设置正常工作。
答案1
您是否已使用要连接的服务器信息正确设置了 phpmyadmin 配置?请参阅 phpmyadmin wiki 页面:http://wiki.phpmyadmin.net/pma/Config#Server.28s.29_configuration
它应该像输入 SQL 服务器的 IP/域一样简单。
此外,您还可以在配置中指定用户名和密码。但是,如果 phpmyadmin 网页可供外部访问,那么这将是一个非常糟糕的主意,因为任何访问该页面的人都会访问您的 sql 服务器。
答案2
您还可以考虑编辑config.inc.php
而不是config-db.php
(例如这里:http://www.mittalpatel.co.in/access_mysql_database_hosted_remote_server_using_phpmyadmin)
在 中config.inc.php
,定义了您的基本主机。您可以随后通过插入以下内容来添加另一个主机:
<?php
// The $i counter should already be incremented, if not, uncomment the next line
// $i++;
$cfg['Servers'][$i]['host'] = ''; // MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = ''; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['connect_type'] = 'tcp'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysqli'; // The php MySQL extension to use ('mysql' or 'mysqli')
$cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method (valid choices: config, http, signon or cookie)
// 0 enables choosing host via a dropdown menu
// 1 sets the first one as default
// 2 sets the second one as default
// etc.
$cfg['ServerDefault'] = 0;
?>
答案3
只需在“config.inc.php”文件底部添加以下几行:
$i++;
$cfg['Servers'][$i]['host'] = 'HostName:port'; //provide hostname and port if other than default
$cfg['Servers'][$i]['user'] = 'userName'; //user name for your remote server
$cfg['Servers'][$i]['password'] = 'Password'; //password
$cfg['Servers'][$i]['auth_type'] = 'config'; // keep it as config
。您将获得“当前服务器:”下拉菜单,其中包含“127.0.0.1”和您提供的“$cfg['Servers'][$i]['host']”凸轮在服务器之间切换。