Answers:
只需在/etc/phpmyadmin/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']”凸轮开关。
更多详细信息:http : //sforsuresh.in/access-remote-mysql-server-using-local-phpmyadmin/
$i++
一点很重要,因为这不会使我们失去默认的数据库连接localhost
。
/etc/phpmyadmin/config.inc.php
是要更改的正确文件
config.inc.php
文件位于 Applications/XAMPP/xamppfiles/phpmyadmin/config.inc.php
file上。
正如其他答案所指出的那样,当然可以从phpMyAdmin的本地实例访问远程MySQL服务器。为此,您必须将远程服务器的MySQL服务器配置为接受远程连接,并允许防火墙通过MySQL正在侦听的端口号的通信。我更喜欢涉及SSH隧道的稍微不同的解决方案。
以下命令将设置SSH隧道,该隧道会将从本地计算机到端口3307的所有请求转发到远程计算机上的端口3306:
ssh -NL 3307:localhost:3306 root@REMOTE_HOST
出现提示时,您应该输入远程计算机上root用户的密码。这将打开隧道。如果要在后台运行此程序,则需要添加-f
参数,并在本地计算机和远程计算机之间设置无密码SSH。
SSH隧道正常工作后,可以通过修改/etc/phpmyadmin/config.inc.php
文件将远程服务器添加到本地phpMyAdmin的服务器列表中。将以下内容添加到文件末尾:
$cfg['Servers'][$i]['verbose'] = 'Remote Server 1';// Change this to whatever you like.
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '3307';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$i++;
$++
至少对于我的默认phpmyadmin.conf来说,应该绝对是第一行,而不是最后一行。
可以完成,但是您需要更改phpMyAdmin配置,请阅读以下文章:http : //www.danielmois.com/article/Manage_remote_databases_from_localhost_with_phpMyAdmin
如果链接由于某种原因而消失,则可以使用以下步骤:
config.inc.php
$cfg['Servers'][$i]['host']
变量,并将其设置为远程服务器的IP或主机名$cfg['Servers'][$i]['port']
变量,并将其设置为远程mysql端口。通常这是3306
$cfg['Servers'][$i]['user']
和$cfg['Servers'][$i]['password']
变量,并将其设置为远程服务器的用户名和密码如果没有正确的服务器配置,则连接可能比本地连接慢,例如,使用IP地址代替主机名可能会稍快一些,以避免服务器不得不从主机名中查找IP地址。
另外,请记住,这样连接时,远程数据库的用户名和密码以纯文本格式存储,因此您应采取步骤确保没有人可以访问此配置文件。另外,您可以将用户名和密码变量保留为空,以便在每次登录时提示您输入它们,这更加安全。
关注此博客文章。您可以轻松完成。 https://wadsashika.wordpress.com/2015/01/06/manage-remote-mysql-database-locally-using-phpmyadmin/
文件config.inc.php包含phpMyAdmin安装的配置设置。它使用一个数组存储它可以连接到的每台服务器的配置选项集,默认情况下只有一台您自己的计算机或本地主机。为了连接到另一台服务器,您必须向配置阵列添加另一组配置选项。您必须编辑此配置文件。
首先打开phpMyAdmin文件夹中保存的config.inc.php文件。在wamp服务器中,可以在wamp \ apps \ phpmyadmin文件夹中找到它。然后将以下部分添加到该文件。
$i++;
$cfg['Servers'][$i]['host'] = 'hostname/Ip Adress';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysql';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'password';
让我们看看这个变量的含义。
$i++ :- Incrementing variable for each server
$cfg[‘Servers’][$i][‘host’] :- Server host name or IP adress
$cfg[‘Servers’][$i][‘port’] :- MySQL port (Leave a blank for default port. Default MySQL port is 3306)
$cfg[‘Servers’][$i][‘socket’] :- Path to the socket (Leave a blank for default socket)
$cfg[‘Servers’][$i][‘connect_type’] :- How to connect to MySQL server (‘tcp’ or ‘socket’)
$cfg[‘Servers’][$i][‘extension’] :- php MySQL extension to use (‘mysql’ or ‘msqli’)
$cfg[‘Servers’][$i][‘compress’] :- Use compressed protocol for the MySQL connection (requires PHP >= 4.3.0)
$cfg[‘Servers’][$i][‘auth_type’] :- Method of Authentication
$cfg[‘Servers’][$i][‘username’] :- Username to the MySQL database in remote server
$cfg[‘Servers’][$i][‘password’] :- Password to the MySQL database int he remote server
添加此配置部分后,重新启动服务器,现在phpMyAdmin主页将更改,并且将显示一个字段以选择服务器。
现在,您可以选择服务器并通过输入该数据库的用户名和密码来访问远程数据库。
如答案c.hill答案中所述,如果您需要安全的解决方案,建议您打开通往服务器的SSH隧道。
这是针对Windows用户的方法:
从Putty网站下载Plink和Putty 并将文件放在您选择的文件夹中(在我的示例中C:\Putty
)
打开Windows控制台并cd到Plink文件夹:
cd C:\Putty
打开SSH隧道并重定向到端口3307:
plink -L 3307:localhost:3306 username@server_ip -i path_to_your_private_key.ppk
哪里:
最后,您可以设置PhpMyAdmin:
要添加的行:
$i++;
$cfg['Servers'][$i]['verbose'] = 'Remote Dev server';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '3307';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = FALSE;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
http://127.0.0.1/phpmyadmin
如果不想每次需要连接到远程服务器时都打开控制台,则只需创建一个批处理文件(通过将2个命令行保存在.bat文件中)即可。
在Ubuntu中
您只需要在PHPMyAdmin文件夹中修改一个文件,即“ config.inc.php”。只需在“ config.inc.php”中添加以下几行。
档案位置:/var/lib/phpmyadmin/config.inc.php
或
/etc/phpmyadmin/config.inc.php
也许您没有编辑该文件的权限,只需使用此命令授予权限
sudo chmod 777 /var/lib/phpmyadmin/config.inc.php
或(在不同的系统中,您可能必须检查这两个位置)
sudo chmod 777 /etc/phpmyadmin/config.inc.php
然后将代码复制并粘贴到config.inc.php
文件中
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose'] = 'Database Server 2';
$cfg['Servers'][$i]['host'] = '34.12.123.31';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
并根据您的服务器详细信息进行适当的更改
方法1(对于多服务器)
首先,让我们备份原始配置。
sudo cp /etc/phpmyadmin/config.inc.php ~/
现在在/ usr / share / doc / phpmyadmin / examples /中,您将看到一个文件config.manyhosts.inc.php。只需 使用以下命令复制到/ etc / phpmyadmin /中:
sudo cp /usr/share/doc/phpmyadmin/examples/config.manyhosts.inc.php \
/etc/phpmyadmin/config.inc.php
编辑config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
搜索 :
$hosts = array (
"foo.example.com",
"bar.example.com",
"baz.example.com",
"quux.example.com",
);
并添加您的ip或主机名数组保存(在nano CTRL + X中,按Y)并退出。完成了
方法2(单服务器)编辑config.inc.php
sudo nano /etc/phpmyadmin/config.inc.php
搜索 :
/* Server parameters */
if (empty($dbserver)) $dbserver = 'localhost';
$cfg['Servers'][$i]['host'] = $dbserver;
if (!empty($dbport) || $dbserver != 'localhost') {
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['port'] = $dbport;
}
并替换为:
$cfg['Servers'][$i]['host'] = '192.168.1.100';
$cfg['Servers'][$i]['port'] = '3306';
请记住 用您自己的mysql ip服务器替换192.168.1.100。
对不起,我的英语不好(谷歌翻译责备:D)
在安装了Wamp Server的Windows中,您可能会找到配置文件
C:\wamp64\apps\phpmyadmin4.8.4\config.inc.php
适当更改空心线
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = 3306;//$wampConf['mysqlPortUsed'];
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
删除的完整条目 /etc/http/conf.d/phpMyAdmin.conf
在上述文件的整体下方,
<Directory /usr/share/phpMyAdmin/>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
#ADD following line:
Require all granted
Require ip 127.0.0.1
Require ip ::1
</RequireAny>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
#CHANGE following 2 lines:
Order Allow,Deny
Allow from All
Allow from 127.0.0.1
Allow from ::1
</IfModule>
</Directory>
然后,
在MySQL提示符下运行以下命令,
GRANT ALL ON *.* to root@localhost IDENTIFIED BY 'root@<password>'
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'root@<password>'
phpmyadmin
本地安装docker映像并连接到远程MySQL服务器。更多详细信息,请点击这里:docker run --name myadmin -d -e PMA_HOST=<REMOTE_DB_HOST> -e PMA_PORT=<REMOTE_DB_PORT> -p 8080:80 phpmyadmin/phpmyadmin