MySQL 5 an localhost binden klappt nicht

MySQL, PostgreSQL, SQLite
bernostern
Posts: 129
Joined: 2003-02-09 12:52

MySQL 5 an localhost binden klappt nicht

Post by bernostern » 2008-06-24 16:30

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

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

Re: MySQL 5 an localhost binden klappt nicht

Post by Joe User » 2008-06-24 16:50

my.cnf

Code: Select all

bind_address = 127.0.0.1
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

bernostern
Posts: 129
Joined: 2003-02-09 12:52

Re: MySQL 5 an localhost binden klappt nicht

Post by bernostern » 2008-06-24 17:00

Danke erst einmal!
jetzt wollte ich schon laut losschreien wegen dem Unter- /Bindestrich.... aber es klappt trotzdem nicht!?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

Re: MySQL 5 an localhost binden klappt nicht

Post by Joe User » 2008-06-24 17:02

Wird /etc/mysql/my.cnf überhaupt genutzt?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

bernostern
Posts: 129
Joined: 2003-02-09 12:52

Re: MySQL 5 an localhost binden klappt nicht

Post by bernostern » 2008-06-24 17:10

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.

bernostern
Posts: 129
Joined: 2003-02-09 12:52

Re: MySQL 5 an localhost binden klappt nicht

Post by bernostern » 2008-06-24 17:17

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?

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: MySQL 5 an localhost binden klappt nicht

Post by EdRoxter » 2008-08-20 16:52

Unterstrich? Bei mir auf Debian Etch lautet der Parameter

Code: Select all

bind-address = 127.0.0.1

Steht der denn auch in der Sektion

Code: Select all

[mysqld]

in der my.cnf?

Was sagt

Code: Select all

netstat -tulpen
?

bernostern
Posts: 129
Joined: 2003-02-09 12:52

Re: MySQL 5 an localhost binden klappt nicht

Post by bernostern » 2008-08-21 10:10

EdRoxter wrote:Unterstrich? Bei mir auf Debian Etch lautet der Parameter

Code: Select all

bind-address = 127.0.0.1

geht beides nicht. Im syslog keine Fehlermeldung, der Parameter wird scheinbar einfach ignoriert.

EdRoxter wrote:Steht der denn auch in der Sektion

Code: Select all

[mysqld]

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

netstat -tulpen
?


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....

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: MySQL 5 an localhost binden klappt nicht

Post by Roger Wilco » 2008-08-21 10:43

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.

EdRoxter
Posts: 483
Joined: 2006-01-06 03:23
Location: Neben Bonn

Re: MySQL 5 an localhost binden klappt nicht

Post by EdRoxter » 2008-08-21 10:46

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.