PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mysqld: Anfragen von 2 IPs zulassen



fehl-x
22.07.06, 16:23
Hallo *,

ich möchte eine Website von einem Server auf einen anderen migrieren. Dazu möchte ich zuerst nur die Datenbank, welche hinter der Website steht umziehen.
Damit dann die Website auf dem ersten Server auf ihre Datenbank zugreifen kann, die sich schon auf dem zweiten (Ziel-)Server befindet, muss ich dem Mysql-Server beibringen nicht nur lokal Anfrage zu beantworten, sondern auch die von dem Server auf dem sich meine Website (noch) befindet.

Wenn ich das richtig sehe, ist die Option
bind-address = 127.0.0.1 dafür verantwortlich, dass der Server nur lokale Anfragen annimmt.

Googlesuche etc, hat ergeben, dass man soetwas wie
bind-address = 127.0.0.1 <zweite-IP> nicht geht!

Hat jemand Erfahrungen mit Mysql-Servern die Anfragen von zwei Hosts entgegennehmen sollen und kann mir beantworten wie das Problem zu lösen ist?

Felix

tschloss
22.07.06, 17:56
Wie der bind-address Paramter sich auswirkt, weiss ich grad garnicht. Habe einen Server hier daheim, der nimmt connections auch von anderen IPs.

- Firewall aufmachen
- "skip-networking" muss aus sein
- die user-Tabelle muss ggf. weitere Einträge bekommen, weil der user1@localhost halt ein anderer ist als user1@otherhost

Greetz
Thomas

fehl-x
22.07.06, 17:59
Danke, da hab ich wenigstens einen Ansatz um das Problem per "Try and Error" zu lösen!

Felix

BedriddenTech
22.07.06, 17:59
Der "bind"-Parameter muß in dem Fall auskommentiert werden, damit bindet sich der SQL-Server nur an eine IP-Adresse. tschloss' Beschreibung triffts da genau: MySQL-Server nach außen aufmachen, Benutzer zur mysql.user-Tabelle hinzufügen. Im MySQL-Onlinehandbuch steht das genau beschrieben. :)

fehl-x
22.07.06, 19:51
Ok, ich dachte es wäre vielleicht möglich, den Server nicht gleich vollständig nach draußen zu öffnen, sondern zur Anfragen von bestimmten IPs zuzulassen.

Da dieser Zustand ja aber sowiso nur so lange andauert, bis die DNS-Server der Domain geupdated sind, ist es ja nicht soo schlimm.


Vielen Dank, Felix

chrigu
22.07.06, 21:53
Ok, ich dachte es wäre vielleicht möglich, den Server nicht gleich vollständig nach draußen zu öffnen, sondern zur Anfragen von bestimmten IPs zuzulassen.
Benutz doch ein Iptables-Skript. Als Source gibst du an, welche IPs zugreifen können, ganz einfach.

Gruss,
Chrigu

BedriddenTech
23.07.06, 01:39
Hübscher wäre imho tcpserver mit einer Regel-.cdb-Datei.

fehl-x
23.07.06, 08:36
Benutz doch ein Iptables-Skript. Als Source gibst du an, welche IPs zugreifen können, ganz einfach.

Daran habe ich auch schon gedacht. Habs aber verworfen, da ich mich dann erst mit IPtables näher beschäftigen müsste, und da die Lösung dadurch zu aufwändig würde, in anbetracht dessen, dass es ja ohnehin keine Dauerlösung ist, sondern nur eingesetzt wird, bis die DNS-Server upgedated sind.

Felix

chrigu
23.07.06, 13:00
Daran habe ich auch schon gedacht. Habs aber verworfen, da ich mich dann erst mit IPtables näher beschäftigen müsste, und da die Lösung dadurch zu aufwändig würde, in anbetracht dessen, dass es ja ohnehin keine Dauerlösung ist, sondern nur eingesetzt wird, bis die DNS-Server upgedated sind.
Ja, aber genau dafür ist es ja ideal. Du tippst die Iptables-Regel ein auf der Konsole und gut. Du musst ja kein Skript schreiben, wenn es nur für eine kurze Dauer ist!

fehl-x
23.07.06, 14:34
Dann hilf mir doch mal auf die Sprünge, wie müsste so eine Regel aussehen?

Felix

chrigu
23.07.06, 17:45
Dann hilf mir doch mal auf die Sprünge, wie müsste so eine Regel aussehen?


iptables -A INPUT -i eth0 -s 192.168.1.100 -m state --state NEW -p tcp --dport 3306 -j ACCEPT

Auf dem Interface eth0 werden alle Anfragen an Port 3306 (MySQL) zugelassen von der IP-Adresse 192.168.1.100.

Gruss,
Chrigu

fehl-x
23.07.06, 20:20
Danke!

Felix

chrigu
24.07.06, 07:20
Danke!
Bitte, beachte einfach, dass nach einem Neustart afaik diese Regel weg sind, sofern du sie nicht in ein Skript verpackst und sie während dem Systemstart ausführst..

fehl-x
24.07.06, 14:12
Na, das is klar!

Felix