在我的Web服务器上远程访问MySQL

时间:2014-05-01 16:02:51

标签: mysql phpmyadmin remote-access

我正在托管我自己的网络服务器,并试图从我的笔记本电脑(而不是服务器)访问我的MySQL数据库。在我的笔记本电脑上,我将以下内容添加到config.inc.php文件中:

$i++;
$cfg['Servers'][$i]['verbose'] = 'xx.xxx.xxx.xxx';
$cfg['Servers'][$i]['host'] = 'xx.xxx.xxx.xxx';
$cfg['Servers'][$i]['port'] = '3306';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'nick';
$cfg['Servers'][$i]['password'] = 'xxxxxxx';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

我在服务器上创建了一个名为" nick"所有补助金。我尝试了很多不同的代码配置,但我无法远程连接。

主机IP是我的路由器的IP,它使用DNS将其链接到域名,我想这是所需的主机。我为我的网站端口转发8080并使用端口80重新使用DNS。尝试从笔记本电脑连接到服务器时出现此错误:

错误 MySQL说:文档

2002 - 连接尝试失败,因为连接方在一段时间后没有正确响应,或者建立的连接失败,因为连接的主机无法响应。

服务器没有响应(或者未正确配置本地服务器的套接字)。

有人请求帮助,我不想永远花在这上面:/我应该在网站上工作,而不是MySQL远程连接哈哈!

2 个答案:

答案 0 :(得分:0)

MySQL在端口3306上运行,它被阻止了。对我来说不是。

然后确保你的mysql允许来自外部的连接。

只需编辑my.cnf文件

  • 如果您使用的是Debian Linux文件位于/etc/mysql/my.cnf位置。
  • 如果您使用的是Red Hat Linux / Fedora / Centos Linux文件位于/etc/my.cnf位置。
  • 如果您使用的是FreeBSD,则需要创建一个文件/var/db/mysql/my.cnf位置。

    $ nano my.cnf

向下直到找到[mysqld]

[mysqld]
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/English
bind-address    = 65.55.55.2
# skip-networking

修改" bind-address"到服务器的ip,以便它监听它(它默认为localhost)。

答案 1 :(得分:0)

在Windows防火墙中为端口3306创建例外。确保端口也正在转发。