Page 1 of 1
MySQL 5 an localhost binden klappt nicht
Posted: 2008-06-24 16:30
by bernostern
Hallo ,
ich habe unter Etch einen Mysql 5 Server laufen, welcher auf die öffentliche IP des Servers lauscht.
Ich schaffe es ums verrecken nicht, dass nur noch an den localhost gelauscht wird:
bind-address=127.0.0.1 in /etc/mysql/my.cnf zeigt keine Wirkung
skip-networking gilt nicht mehr für MySQL 5
Code: Select all
/usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --port=3306 --bind-address=127.0.0.1 &
klappt auch nicht
Woran könnte das liegen? Evtl. dass der MySQL innerhalb eines VServers läuft? Innerhalb des Vservers habe ich allerdings ein ping'bares lo Interface mit 127.0.0.1
Any ideas?
Danke und schöne Grüße,
Bern
Re: MySQL 5 an localhost binden klappt nicht
Posted: 2008-06-24 16:50
by Joe User
Re: MySQL 5 an localhost binden klappt nicht
Posted: 2008-06-24 17:00
by bernostern
Danke erst einmal!
jetzt wollte ich schon laut losschreien wegen dem Unter- /Bindestrich.... aber es klappt trotzdem nicht!?
Re: MySQL 5 an localhost binden klappt nicht
Posted: 2008-06-24 17:02
by Joe User
Wird /etc/mysql/my.cnf überhaupt genutzt?
Re: MySQL 5 an localhost binden klappt nicht
Posted: 2008-06-24 17:10
by bernostern
Ja, die wird verwendet.
ich habe diesbzgl. den Parameter language von english auf german geändert und an der mysql Konsole mit 'SHOW VARIABLES;' kontrolliert.
Re: MySQL 5 an localhost binden klappt nicht
Posted: 2008-06-24 17:17
by bernostern
Ich habe nun noch eine weitere IP Adresse ausprobiert. Und siehe da, es klappt, kein Problem.
Es muss also etwas mit dem Loopback IF zu tun haben.
Code: Select all
lo Protokoll:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:3049 errors:0 dropped:0 overruns:0 frame:0
TX packets:3049 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:763805 (745.9 KiB) TX bytes:763805 (745.9 KiB)
Code: Select all
vbox:/etc/mysql# ping localhost
PING localhost.localdomain (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=1 ttl=64 time=0.058 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from localhost.localdomain (127.0.0.1): icmp_seq=3 ttl=64 time=0.034 ms
Im syslog ist auch alles ok
Code: Select all
Jun 24 17:14:12 vbox mysqld[8009]: 080624 17:14:12 [Note] /usr/sbin/mysqld: Herunterfahren beendet
Jun 24 17:14:12 vbox mysqld[8009]:
Jun 24 17:14:12 vbox mysqld_safe[8086]: ended
Jun 24 17:14:13 vbox mysqld_safe[8158]: started
Jun 24 17:14:13 vbox mysqld[8161]: 080624 17:14:13 InnoDB: Started; log sequence number 0 850971961
Jun 24 17:14:13 vbox mysqld[8161]: 080624 17:14:13 [Note] /usr/sbin/mysqld: bereit für Verbindungen.
Jun 24 17:14:13 vbox mysqld[8161]: Version: '5.0.32-Debian_7etch5-log' Socket: '/var/run/mysqld/mysqld.sock' Port: 3306 Debian etch distribution
Jun 24 17:14:14 vbox /etc/mysql/debian-start[8198]: Upgrading MySQL tables if necessary.
Jun 24 17:14:14 vbox /etc/mysql/debian-start[8206]: Checking for crashed MySQL tables.
Noch ne Idee?
Re: MySQL 5 an localhost binden klappt nicht
Posted: 2008-08-20 16:52
by EdRoxter
Unterstrich? Bei mir auf Debian Etch lautet der Parameter
Steht der denn auch in der Sektion
in der my.cnf?
Was sagt
?
Re: MySQL 5 an localhost binden klappt nicht
Posted: 2008-08-21 10:10
by bernostern
EdRoxter wrote:Unterstrich? Bei mir auf Debian Etch lautet der Parameter
geht beides nicht. Im syslog keine Fehlermeldung, der Parameter wird scheinbar einfach ignoriert.
EdRoxter wrote:Steht der denn auch in der Sektion
in der my.cnf?
ja:
Code: Select all
.........
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/german
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address = 127.0.0.1
skip-external-locking
#
# * Fine Tuning
#
key_buffer = 16M
......
EdRoxter wrote:Was sagt
?
Code: Select all
vbox:/# netstat -tulpen
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address Foreign Address State Benutzer Inode PID/Program name
tcp 0 0 123.123.123.123:3306 0.0.0.0:* LISTEN 100 115280 27125/mysqld
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 0 6291 2731/apache2
tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 0 6293 2731/apache2
123.123.123.123 ist meine öffentliche IP und eben nicht localhost. Wenn ich bei bind-address eine andere öffentliche IP eintrage, dann klappt das bind, wobei es egal ist, ob mit Unterstrich oder mit Bindestrich. Aber eben nicht für localhost....
Re: MySQL 5 an localhost binden klappt nicht
Posted: 2008-08-21 10:43
by Roger Wilco
bernostern wrote:Wenn ich bei bind-address eine andere öffentliche IP eintrage, dann klappt das bind, wobei es egal ist, ob mit Unterstrich oder mit Bindestrich. Aber eben nicht für localhost....
Erstellst du den Eintrag zusätzlich oder ausschließlich? Der mysqld verträgt nur einmal
bind-address.
Re: MySQL 5 an localhost binden klappt nicht
Posted: 2008-08-21 10:46
by EdRoxter
Dann ist es wohl wirklich ein Problem mit lo. Wahrscheinlich ist deine erste Annahme richtig, dass es mit VServer zu tun hat. Es könnte durchaus sein, dass das Loopback-Interface nur auf dem Hostsystem läuft, dadurch ist es zwar pingbar, aber deine VM kann darauf natürlich nicht lauschen. Das ist u.A. abhängig davon, welche Virtualisierungssoftware dein Provider verwendet und wie restriktiv er konfiguriert.
Alternativ könntest du mySQL ausschließlich auf einem Socket lauschen lassen. Wäre wie folgt:
Code: Select all
[mysqld]
skip-networking
socket = /var/lib/mysql/mysql.sock
oder wo auch immer du das Socket hinlegen willst. bind-address und port kannst du dann weglassen.
Natürlich musst du dann noch deinen Anwendungen beibringen, dass sie via Socket auf mySQL zugreifen sollen, was aber kein allzu großes Problem ist.