我在本地设置了phpMyAdmin。我无法将它连接到我的远程服务器。我使用1&1托管,我找到了一个关于如何做我想做的事情的教程,除了我只能使用SFTP连接,而教程使用的是SSH。我以为这些都是一样的。
http://franklinstrube.com/blog/remote-mysql-administration-for-1and1/
本教程告诉我,我需要安装socat并执行SSH隧道,但它不接受本教程中的任何命令,因为我只能使用SFTP。
以下是我的phpMyAdmin本地主机配置
$cfg['Servers'][$i]['host'] = '';
$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';我目前的问题是教程中他们使用SSH和我只使用SFTP的能力之间的差异。我该如何克服这个问题呢?
发布于 2015-03-23 07:33:03
我怎样才能克服这个问题?
简单地说,就是在你的1&1托管网页上安装phpMyAdmin (并适当地保护它,因为它是面向公众的!)而不是在本地机器上运行phpMyAdmin。您将使用HOST1&1在其文档或设置中告诉您用于访问MySQL的任何内容;它可以是'localhost‘,也可以是其他一些内部数据库服务器名称。
下面是更深层次的解释: SFTP和SSH是相似且相关但又不同的协议。它们的相似之处和不同之处的复杂性在这里并不重要,但是SSH是为用户提供命令shell而SFTP是为文件级功能而设计的;主要是文件传输。
有两种方法可以使用phpMyAdmin连接到您的MySQL服务器:在同一台服务器上运行它(通过套接字或本地主机网络连接)或从其他服务器连接。可以根据主机分配MySQL权限,因此拥有从本地主机连接的权限与某些随机的外部网络连接不同。
大多数主机会阻止外部MySQL连接;这是提供安全性的一种很好的方式,因为随机攻击者甚至无法连接到它们的MySQL服务器,但这会使管理变得不太方便。如果你有SSH访问,你可以隧道你的连接,看起来像是来自网络内部,因为隧道。由于您没有SSH访问权限,而且SFTP不提供该级别的功能,因此您只能在1&1级别的网站上安装phpMyAdmin并远程访问网页,而不是访问MySQL守护进程本身。实际上,对于您来说,这可能比通过隧道传输MySQL连接更快,但是您需要确保安装安全(我建议至少使用非标准目录名称并确保您有一个强密码;您可能还希望使用最新phpMyAdmin版本中的验证码)。
https://stackoverflow.com/questions/28919547
复制相似问题