首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让mysql接受外部连接

问如何让mysql接受外部连接
EN

Stack Overflow用户
提问于 2009-06-02 05:46:23
回答 3查看 17.5K关注 0票数 3

我有一个VPS,我想让mysql DB接受外部连接(例如从我的PC )。我在服务器上安装了Debian Linux。我在网上查看了一些教程,他们说要注释掉:

代码语言:javascript
复制
bind-address          = 127.0.0.1

但这似乎没有帮助!有没有什么特别针对VPSs的?或者我还漏掉了什么?运行mysql的命令是:

代码语言:javascript
复制
/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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-06-02 06:10:32

必须将MySQL服务器配置为接受外部连接(根据需要绑定到正确的网络接口),并且必须将其防火墙配置为允许该端口(TCP端口3306)上的传入连接。这可能在你安装MySQL时已经设置好了,也可能没有设置好(如果你在*nix上,请参阅iptables )。

您还必须在MySQL权限中说明这一点,如下所示。

通常,在设置MySQL权限时,您将仅为@'localhost‘设置用户访问权限。您需要确保为要连接的相应主机名或IP地址设置了用户帐户及其授予的权限。例如,您可以使用以下命令创建新的授权用户:

代码语言:javascript
复制
GRANT ALL PRIVILEGES ON somedatabase.* TO someuser@'somehostname' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

您必须先完成所有这些操作,然后才能远程连接到该服务器,方法如下(本例使用PHP):

代码语言:javascript
复制
mysql_connect('mysqlservername', 'someuser', 'password');
票数 4
EN

Stack Overflow用户

发布于 2009-06-02 06:09:20

您还必须将bind-address更改为您的VPS机器的外部ip (ipconfig会有所帮助)。

并授予从您的PC访问的权限。使用root权限从localhost连接到数据库,然后执行以下操作:

代码语言:javascript
复制
grant all privilege on *.* to `username`@`your-pc-id` identified by 'your-password'

有关更多信息,请访问MySQL grant documentation。

票数 1
EN

Stack Overflow用户

发布于 2009-06-02 05:59:37

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

有关更多详细信息,请查看these other answers。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/938047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档