【问题标题】:Connect local phpMyAdmin with remote server - error #2002将本地 phpMyAdmin 与远程服务器连接 - 错误 #2002
【发布时间】:2015-04-07 11:37:46
【问题描述】:

我一直在寻找正确的答案,但没有找到解决方案。我的本地主机上有 WampServer 和 phpMyAdmin。我在远程服务器上的 phpmyadmin 中创建了一个具有所有权限的用户。

  • 在文件夹 wamp/apps/phpmyadmin4.1.14/ 我找到了 config.inc.php 文件

并尝试使用以下代码将其连接到远程数据库:

<?php
$i++;
/* Authentication type */
$cfg['Servers'][$i]['verbose'] = 'mysql wampserver';
//$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
/* Server parameters */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysql if your server does not have mysqli */
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

$i++;
/* Authentication type */
//$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'username';
$cfg['Servers'][$i]['password'] = 'mypass';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'example.com';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
/* Select mysql if your server does not have mysqli */
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = false;
?>

因此,在 phpMyAdmin 中我现在有第二台服务器,但是当我选择它时 - 会弹出一个错误。 MySQL 错误 #2002 如下所示:

2002 - 连接尝试失败,因为连接方在一段时间后没有正确响应,或者连接失败,因为连接的主机没有响应。服务器没有响应(或本地服务器的套接字配置不正确)。

请帮助我错过了什么!

【问题讨论】:

    标签: php mysql phpmyadmin config remote-access


    【解决方案1】:

    您的机器与服务器之间的通信失败。如果是权限,你不会得到一个死请求,你会得到权限错误。

    • 确保您的域可用(连接到该地址并以某种方式获得答案);
    • 确保您的防火墙打开了正确的端口。这可能很棘手,因为您可以使用一个端口进入服务器,而使用不同的端口进入服务。确保您的防火墙规则以允许您的计算机使用外部端口查找正确的内部服务的方式正确编写。
    • 使用错误的用户名和密码。当您解决此 #2002 错误时,您将收到 #1045 拒绝访问错误。然后您就会知道您需要担心权限并授予 IP 访问权限。
    • 确保您的本地 Wamp 具有可供 PhpMyAdmin 建立连接的套接字。
    • 确保您的远程 MySQL 允许远程连接

    【讨论】:

      【解决方案2】:

      您在此处列出了 2 个连接,因此它将显示 2 个连接。

      因此,对于您当前的配置,列出的第二个服务器正在尝试连接到“example.com”服务器,如果您尝试连接到此服务器,请确保您已允许设置远程连接,并且帐户权限也可用于远程访问。

      如果您不尝试连接到“example.com”,请将这些行更改为您要连接的远程主机。

      $cfg['Servers'][$i]['user'] = 'username';
      $cfg['Servers'][$i]['password'] = 'mypass';
      /* Server parameters */
      $cfg['Servers'][$i]['host'] = 'example.com';
      

      您可能还需要添加端口

      $cfg['Servers'][$i]['port'] = '3307'; // MySQL port
      

      【讨论】:

      • 是的 - 我想要两个连接,一个用于本地主机,一个用于我的远程服务器。我在 phpMyAdmin 中为远程服务器(example.com)创建了一个具有所有权限的用户,我正在使用这个用户名和密码。那么,您认为这是用户名/密码和权限的问题吗?只是要补充一点,我想连接的是共享主机 - 所以,数百万人成功地做到了这一点:)
      • 是的,这将是特权,因为 phpmyadmin 是通过 mysql 连接的,它需要为远程访问设置正确的特权。只要帐户可以远程连接,那么这些帐户详细信息将与 phpmyadmin 一起使用。
      • 不走运 - 我在服务器上创建了一个拥有所有权限的用户。
      • 1) 在阅读您的错误消息后检查 MySQL 是否正在远程侦听听起来好像不是,确保端口已打开防火墙等.... 2) 在授予权限时,请确保您为远程服务地址,例如 GRANT ALL ON mydatabase.* TO lukesUbuntu@'192.168.1.110' IDENTIFIED BY 'my_password';
      • 远程监听是否有声音是什么意思?在 cPanel 中,我使用我的 IP 地址授予主机访问权限(远程数据库)。我已为自己授予由密码标识的@myIPaddress 的所有权限。我仍然得到#2002。另外,当我把端口 3036 - 它仍然无法正常工作,我在防火墙中打开了那个。
      猜你喜欢
      • 2015-10-21
      • 2020-07-22
      • 2016-08-23
      • 2020-03-06
      • 1970-01-01
      • 2016-09-29
      • 2021-04-16
      • 2019-04-19
      相关资源
      最近更新 更多