Page 1 of 1

MySQL TCP/IP Port nach außen schliessen

Posted: 2007-01-28 08:03
by tch9
Hallo,

ich habe bis vor kurzem einen Root-Server mit Webmin betrieben und bin nun umgestiegen auf ISPConfig.

Unter Webmin konnte man einfach sagen, dass die MySql Datenbank nur für den localhost auf dem TCP/IP Port 33xx hört.

Jetzt suche ich das entsprechende konfi-File und natürlich welche Zeile hier geändert werden soll.

Eingestzt wird Suse 10.1.

Danke
tch

Re: MySQL TCP/IP Port nach außen schliessen

Posted: 2007-01-28 08:42
by daemotron
Du suchst die Datei my.cnf... bei SuSE 9.3 lag sie direkt unter /etc, ob SuSE ihr jetzt ein eigenes Verzeichnis (z. B. /etc/mysql) spendiert hat, musst Du selbst rausfinden (da ich kein 10er SuSE hab).

Code: Select all

...
[mysqld]
...
bind-address = 127.0.0.1
skip-networking
Skip-networking bietet sich an, wenn Du nicht mit Jails, chroot o. ä. arbeitest - dann kannst Du auf MySQL auch per Unix-Socket zugreifen.

<sarkasmus>Ansonsten soll es ungemein hilfreich sein, einen Blick in die MySQL-Dokumentation zu werfen oder die Sticky Items hier im Forum zu lesen...</sarkasmus>

Re: MySQL TCP/IP Port nach außen schliessen

Posted: 2007-01-28 11:15
by Roger Wilco
jfreund wrote:Skip-networking bietet sich an, wenn Du nicht mit Jails, chroot o. ä. arbeitest - dann kannst Du auf MySQL auch per Unix-Socket zugreifen.
s/auch/nur/

Danke

Posted: 2007-01-29 14:30
by tch9
So wollte ich dies:
bind-address = 127.0.0.1

Werde auch noch skip-networking testen.

Danke

Re: MySQL TCP/IP Port nach außen schliessen

Posted: 2007-01-30 22:22
by isotopp
tch9 wrote:Unter Webmin konnte man einfach sagen, dass die MySql Datenbank nur für den localhost auf dem TCP/IP Port 33xx hört.
Früher wurde dazu die Konfig-Zeile "skip-networking" verwendet. MySQL lauscht dann nur noch auf dem Unix-Domain-Socket, dessen Lage mit der Config-Option "socket=..." in den Sektionen [client] und [mysqld] der my.cnf spezifiziert wird.

"skip-networking" setzt voraus, daß der Client mit Unix-Domain-Sockets umgehen kann. Der C-Client ("libmysqlclient.so") kann das, und damit die darauf basierenden Perl, PHP und Python-Clients können das. Der ODBC-Client, der .NET-Client, der Java-Client und der neue mysqlnd-Client von PHP können das nicht.

Daher wird von der Verwendung dieser Option abgeraten.

Stattdessen sollte "bind-address=127.0.0.1" verwendet werden. Dies läßt den TCP-Teil des Servers aktiv, bindet ihn aber so an localhost, daß er nur noch von der lokalen Maschine zu erreichen ist.