mysql/ postfix

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
pegasus26
Beiträge: 83
Registriert: 04.10.2005 20:56:27

mysql/ postfix

Beitrag von pegasus26 » 04.11.2005 17:27:39

Hallo!

Ich wurschtel mich langsam weiter aber :) ...
Ich habe das Problem, dass postfix nicht auf seine mysql-db zugreifen kann. Ich kann leider nur vage eingrenzen, wo das Problem liegt.
1. Die Dateien, auf die in der main.cf verwiesen wird, enthalten die korrekten zugangsdaten zur db.
2. Ich kann mich mit eben diesen Daten manuell mit mysql -u () -p () einloggen, die tabellen sind laut phpMyAdmin wie sie sein sollten...
3. Die Datei mysqld.sock, die hier Forum häufig auftaucht gibt es in /var/run/mysqld. Sie wird im mc allerdings so angezeigt: =mysqld.sock (schwarze Schrift, Größe: 0) (was bedeutet das???)
4. Das horde Framework schreibt die Benutzernamen auch in eine Datenbank und funktioniert
5. Das mysql -Log ist leer
Ich habe unten die meldungen der logs angehängt

Hat jemand eine Idee? Wäre euch sehr verbunden, Danke

Grüsse pegasus

/var/log/mail (ergebnis eines zugriffsversuchs mit telnet)

Code: Alles auswählen

Nov  4 15:52:43 linux postfix/smtpd[31390]: connect from localhost.localdomain [127.0.0.1]
Nov  4 15:55:08 linux postfix/trivial-rewrite[31455]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Nov  4 15:55:08 linux postfix/trivial-rewrite[31455]: fatal: mysql:/etc/postfix/forward.mysql(0,100): table lookup problem
Nov  4 15:55:09 linux postfix/smtpd[31390]: warning: premature end-of-input on private/rewrite socket while reading input attribute name
Nov  4 15:55:09 linux postfix/smtpd[31390]: warning: problem talking to service rewrite: Success
Nov  4 15:55:09 linux postfix/master[23544]: warning: process /usr/lib/postfix/trivial-rewrite pid 31455 exit status 1

Benutzeravatar
herrchen
Beiträge: 3257
Registriert: 15.08.2005 20:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: mysql/ postfix

Beitrag von herrchen » 04.11.2005 18:15:45

pegasus26 hat geschrieben:

Code: Alles auswählen

Nov  4 15:55:08 linux postfix/trivial-rewrite[31455]: warning: connect to mysql server localhost: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
postfix kann den socket nicht "sehen", da es in einem chroot läuft.

google "debian postfix mysql" - erster link - punkt 4

herrchen

pegasus26
Beiträge: 83
Registriert: 04.10.2005 20:56:27

Danke

Beitrag von pegasus26 » 04.11.2005 19:05:21

:D

Danke für den Hinweis und den Link. Anscheinend war das mit dem chroot per default so. Erstmal habe ich in der master.cf unter "chroot" alles auf n gesetzt. - Jetzt gehts, ist aber so weit ich das verstanden habe ein Sicherheitsrisiko.
Die erste Lösung, die mysqld.sock zu verschieben, ist glaub ich nicht gut (Dann finden ulog und horde das Ding nicht mehr). Kann man nicht einfach einen Symlink in die chroot umgebung von postfix setzten, der auf das original zeigt?

danke nochmal, pegasus

EDIT geht so nicht, symlink andersherum schon

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Beitrag von dominator » 04.11.2005 20:48:02

Kann man nicht einfach einen Symlink in die chroot umgebung von postfix setzten, der auf das original zeigt?
Symlink nicht, aber Hardlink :!:

Code: Alles auswählen

man ln
In diesem Zusammenhang muss der Link aber jedesmal neu erstellt werden, wenn MySQL neu gestartet wird :idea:
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 04.11.2005 21:23:17

dominator hat geschrieben:In diesem Zusammenhang muss der Link aber jedesmal neu erstellt werden, wenn MySQL neu gestartet wird :idea:
Schlimmer.. die Socket Datei wird nicht gelöscht solange der Hardlink besteht..
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Beitrag von dominator » 05.11.2005 10:24:35

Da aber trotzdem das chroot-Gefängnis vorzuziehen ist, behelfe ich mir mit einem kleinen Cron-Skript, dass den Socket und seinen Link auf "Gleichheit" prüft und dann bei Bedarf den Link neu erstellt :idea:
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 05.11.2005 10:54:35

oder einfach MySQL auf einem lokalen (127.0.0.1) TCP Socket horchen lassen und schon ist es erledigt
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

pegasus26
Beiträge: 83
Registriert: 04.10.2005 20:56:27

Beitrag von pegasus26 » 05.11.2005 12:16:22

hi!

@dominator Das mit dem "auf Gleichheit prüfen" hab ich nicht kapiert... 8O

Ich hab jetzt halt aus meinem sehr begrenzten Anfänger-Bash-Wortschatz ein start-skript zusammengebaut 8) . Das löscht mysqld.sock im chroot, dann move des originals in den chroot, dann neuer link im ursprünglichen verzeichnis auf das chroot.

Ist dass okay, oder gibts einwände?

grüsse, pegasus

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Beitrag von dominator » 05.11.2005 20:25:09

pegasus26 hat geschrieben:hi!

@dominator Das mit dem "auf Gleichheit prüfen" hab ich nicht kapiert... 8O
Naja, Probleme gibt es bei der Konstellation ja dann, wenn der MySQL-Server neu gestartet wurde. Es muss also nur kontrolliert werden, ob der Link im chroot, auch den Filehandle auf den aktuellen Socket hat.

Folgender Algorithmus mal als Beispiel :

1. Prüfe ob MySQL-Socket existiert (= Läuft der MySQL Server ?)
2. Prüfe ob der Hardlink auf den Socket existiert
3. Sind die beiden gleichen Datums ?
3a. Ja -> alles OK, nix machen.
3b. Nein -> Link im chroot löschen und neu anlegen
4. Ende (gut ....)

Ist natürlich nur ein Gerüst, mal eine (Diskussions)Grundlage :wink:
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 13.12.2005 12:31:31

Savar hat geschrieben:oder einfach MySQL auf einem lokalen (127.0.0.1) TCP Socket horchen lassen und schon ist es erledigt
Und wie macht man das?

=)
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

Benutzeravatar
blackm
Moderator und Co-Admin
Beiträge: 5921
Registriert: 02.06.2002 15:03:17
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von blackm » 13.12.2005 12:34:54

Ueber /etc/mysql/my.cnf:

Code: Alles auswählen

bind-address    = 127.0.0.1
# skip-networking
bye, Martin
Schöne Grüße

Martin

Neu im Forum? --> https://wiki.debianforum.de/debianforum ... tensregeln
Log- und Konfigurationsdatein? --> pastebin.php
Forum unterstützen? --> https://wiki.debianforum.de/debianforum.de/Spenden

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 13.12.2005 12:40:32

blackm hat geschrieben:Ueber /etc/mysql/my.cnf:

Code: Alles auswählen

bind-address    = 127.0.0.1
# skip-networking
bye, Martin
Das wird wohl unter [mysqld] konfiguriert. Wie muss dann aber der Part [mysql-client] lauten?
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

Benutzeravatar
Cloonix
Beiträge: 589
Registriert: 20.11.2004 10:42:24
Wohnort: München
Kontaktdaten:

Beitrag von Cloonix » 13.12.2005 12:42:11

Hat sich erledigt. Man sollte (damit bin ich gemeint) 'address' richtig schreiben können ;)
proud to be 100% M$ free (except X300T)
http://claus.freakempire.de
http://debian.freakempire.de

Antworten