本地连接到phpMyAdmin

时间:2015-03-07 20:19:04

标签: php mysql ssh phpmyadmin

我在本地设置了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的能力之间的差异。我怎么能克服这个?

1 个答案:

答案 0 :(得分:2)

  

我怎样才能克服这个?

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

以下是更深入的解释: SFTP和SSH类似且相关但协议不同。其相似性和差异的复杂性在这里并不重要,但SSH旨在为用户提供命令shell,SFTP专为文件级功能而设计;主要是文件传输。

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

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