2009-04-26 57 views
2

我想加入到MySQL,我可以连接到该端口从我的应用程序的另一个TCP端口如何将端口添加到MySQL服务器

我有我的应用程序的副本,我从运行它们都同一台机器。它们都连接到运行在同一台计算机上的MySql服务器。问题是默认端口3306已被占用。

回答

6

您无法绑定mysqld来侦听多个端口。您可以实现这一目标的唯一方法是使用内部路由规则,将目标端口转发到3306.

如果您在Linux上,则可以使用iptables来实现此目的。 iptables是一个通常为系统管理员保留的乐趣。

请问您的应用程序的两个副本无法连接到同一端口3306的原因是什么?通常情况下,您应该可以连接任意数量的客户端。

1

单个mysql实例可以托管多个数据库。因此,对于您来说,替代方案是每个应用程序连接到在端口3306上运行的同一个mysql实例,但每个应用程序使用不同的数据库名称。

+0

这不会解决我的问题,他们需要共享相同的数据 但问题是端口不能被2个进程共享 – Shvilam 2009-04-26 07:52:10

5

你可以做到这一点是这样的:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 9005 -j REDIRECT --to-port 9000 

哪里eth0的是您的网络开发,9005是你的“源端口”,和9000在您的服务正在运行的端口。哦,那个例子只适用于TCP协议。

你可以找到更多关于端口重定向的例子 here。 Linux的有用网站,顺便说一句。