2009-06-02 54 views
3

我有一个VPS,我想让mysql数据库接受外部连接(例如从我的电脑)。我在服务器上安装了Debian Linux。我在网上查了一些教程,他们说要评论:如何使mysql接受外部连接

bind-address   = 127.0.0.1 

但这似乎没有帮助!有什么特定的VPS吗?还是我缺少别的东西?运行MySQL的命令是:

/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --socket=/var/run/mysqld/mysqld.sock 

回答

4

MySQL服务器必须被配置为从外部接受连接(结合到正确的网络接口适当时),和它的防火墙必须被配置为允许该端口(TCP端口3306)上的传入连接。这可能已经或可能不会在您安装MySQL时设置(如果您使用的是* nix,请参阅iptables)。

还必须考虑到这一点在MySQL权限,如下所示。

通常情况下,设置你的MySQL权限时,我们只会向设置用户访问权限@“localhost”的。您需要确保用户帐户及其授予的权限都设置为您将要连接的相应主机名或IP地址。例如,你可以创建一个新的授权用户:

GRANT ALL PRIVILEGES ON somedatabase.* TO [email protected]'somehostname' IDENTIFIED BY 'password'; 
FLUSH PRIVILEGES; 

你需要做的这一切,然后才能连接到该服务器从远程使用这样的事情(本例中使用PHP):

mysql_connect('mysqlservername', 'someuser', 'password'); 
0

你必须绑定地址设置为您的计算机的外部IP地址的值,而不是本地主机的IP地址。之后不要忘记重新启动MySQL服务。

检查these other answers出更多的细节。

+0

我试过,服务器启动后无法启动 启动MySQL数据库服务器:mysqld。 。 。 。 。 。 。 。 。 。 。 。 。 。 失败! 还有什么我不得不做的,如打开端口或类似? – Tam 2009-06-02 06:08:39

+0

我怀疑在那里有扩展省略号的地方提到了一些关键的东西。 – ysth 2009-06-02 06:31:39

1

您还可以绑定地址更改为您的VPS机器的外部IP(IPCONFIG将帮助)。

并授权从您的PC访问。从本地主机连接到数据库超级用户权限,做到:

grant all privilege on *.* to `username`@`your-pc-id` identified by 'your-password' 

欲了解更多信息通过MySQL grant documentation看。