2009-04-26 8 views
2

Je veux ajouter à MySql un autre port tcp que je peux me connecter à ce port de ma demandecomment ajouter un port au serveur mysql

J'ai une copie de ma demande et je les exécute à la fois de la même machine. Ils sont tous les deux connectés au serveur MySql qui s'exécutent sur la même machine. Le problème est que le port par défaut 3306 est déjà pris.

Répondre

6

Vous ne pouvez pas lier mysqld pour écouter plusieurs ports. La seule façon d'y parvenir est de disposer de règles de routage internes qui redirigent le port cible vers 3306.

Si vous êtes sous Linux, vous pouvez le faire en utilisant iptables. iptables est un paquet d'amusement normalement réservé aux administrateurs système.

Y a-t-il une raison pour laquelle les deux copies de votre application ne peuvent pas se connecter au même port 3306? Normalement, vous devriez pouvoir connecter n'importe quel nombre de clients.

1

Une seule instance mysql peut héberger plusieurs bases de données. Donc, une alternative pour vous est que chaque application se connecte à la même instance mysql fonctionnant sur le port 3306, mais chacun utilise un nom de base de données différent.

+0

cela ne résoudra pas mon problème, ils ont besoin de partager les mêmes données mais le problème est que le port ne peut pas être partagé par 2 processus – Shvilam

5

Vous pouvez le faire avec quelque chose comme ceci:

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

Où eth0 est votre réseau dev, 9005 est votre "port source", et 9000 le port où votre service est en cours d'exécution. Oh, cet exemple est pour le protocole TCP seulement. Vous pouvez trouver plus d'exemples sur la redirection de port here. Site utile pour Linux, btw.

Questions connexes