本地连接到phpMyAdmin

本地连接到phpMyAdmin,php,mysql,ssh,phpmyadmin,Php,Mysql,Ssh,Phpmyadmin,我在本地建立了phpMyAdmin。我无法将其连接到远程服务器。我使用了1&1托管,我找到了一个关于做我想要的事情的教程,除了我只能使用SFTP进行连接,并且教程使用SSH。我以为这些是一样的 本教程告诉我需要安装socat并执行SSH隧道,但它不接受本教程中的任何命令,因为我只能使用SFTP 这是phpMyAdmin的本地主机配置 $cfg['Servers'][$i]['host'] = ''; $cfg['Servers'][$i]['port'] =

我在本地建立了phpMyAdmin。我无法将其连接到远程服务器。我使用了1&1托管,我找到了一个关于做我想要的事情的教程,除了我只能使用SFTP进行连接,并且教程使用SSH。我以为这些是一样的

本教程告诉我需要安装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的能力之间的差异。我怎样才能克服这个问题

我怎样才能克服这个问题

简单地说,在1&1托管的网页上安装phpMyAdmin(并适当保护它,因为它面向公众!),而不是在本地计算机上运行phpMyAdmin。您将使用主机1&1告诉您在其文档或设置中使用的任何内容来访问MySQL;它可能是“localhost”,也可能是其他一些内部数据库服务器名称

下面是更深入的解释: SFTP和SSH是相似的、相关的但不同的协议。它们之间错综复杂的相似性和差异在这里并不重要,但是SSH的设计是为了给用户一个命令shell,而SFTP的设计是为了文件级功能;主要是文件传输

有两种方法可以使用phpMyAdmin连接到MySQL服务器;通过在同一服务器上运行(通过套接字或本地主机网络连接)或从其他服务器连接。MySQL权限可以根据主机分配,因此拥有从localhost连接的权限与某些随机外部网络连接不同

大多数主机阻止外部MySQL连接;这是一种提供安全性的好方法,因为随机攻击者甚至无法连接到他们的MySQL服务器,但这会使您的管理变得不那么方便。如果您有SSH访问权限,那么您可以通过隧道连接,并且由于隧道的原因,看起来像是来自网络内部。由于您没有SSH访问权限,而且SFTP不提供该级别的功能,因此您必须在网站1&1安装phpMyAdmin并远程访问网页,而不是访问MySQL守护程序本身。实际上,这对您来说可能比隧道连接MySQL要快,但您需要确保安装的安全(我建议至少使用非标准目录名,并确保您有一个强密码;您可能还希望使用captcha,这是最新phpMyAdmin版本的一个选项)