我正在托管自己的 Web 服务器,并尝试从我的笔记本电脑(而不是服务器)访问我的 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 远程连接哈哈!
最佳答案
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)。
关于mysql - 远程访问我的 Web 服务器上的 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23411522/