Kurz zur Umgebung:
AMD64 - FreeBSD 8.1 mit den aktuellen Patches, auch die Ports werden täglich aktualisiert.
Es laufen 5 Jails:
1 Datenbank (MySQL 5.5.8)
2 FTP (Pureftpd)
3 Mail (Dovecot + Postfix)
4 Rsync (Backups)
5 Apache mit PHP (FastCGI)
Wie gesagt, es laufen 2 phpBB Instanzen ohne Probleme, mod_auth_form ist aktiv und macht auch keine Probleme.
Postfix holt sich seine Maps aus der MySQL Datenbank, dass läuft mittlerweile mit der Konfiguration von Joe User - besten Dank.
Was Probleme macht ist Dovecot, anfangs dachte ich dass evtl. die Dovecot 1.2.6 aus den Ports nicht will, also habe ich auf die 2.x Version ein Upgrade gemacht - gleiches Ergebnis. Sobald MySQL als Backend genutzt wird gehen die Probleme los (UserDB und PassDB).
Gleiches gilt für Pureftpd.
Schalte ich um (Pureftpd und Dovecot) dass jeweils kein SQL Verbindung genutzt wird läuft alles wie gewünscht.
Wenn ich per das Mysql binary in die Jails kopiere und händisch die Abfrage mache (SELECT etc.) kommen die Ergebnisse ohne Probleme - gleicher User wie für Dovecot und Pureftpd werden natürlich verwendet.
Einen Export der problematischen Datenbanken habe ich gemacht, dann per DROP ausgeräumt und wieder importiert, dabei vorher im Dump nochmal manuell nachgeschaut ob auch wirklich utf8 benutzt wird.
Problem bleibt bestehen.
Und - habe alles nochmals installiert, geändert hat sich nichts. Selbst die SHA Checksums bleiben die gleiche (mysqld / pure-ftpd / dovecot).
Und - zum Fehler - ich würde fehlende Libraries in den Jails ausschließen - ldd meldet sich nicht und auch mysqld läuft soweit.
Zum Jail'ing - extra per "make package" ein Paket erstellt und dass manuell in die Jails entpackt, damit dort auch nichts fehlt.
MySQL selbst - im error log:
Code: Select all
mysqld_safe Starting mysqld daemon with databases from /var/db/mysql
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: Completed initialization of buffer pool
InnoDB: highest supported file format is Barracuda.
InnoDB: 1.1.4 started; log sequence number 1803838
[Note] Event Scheduler: Loaded 0 events
[Note] /usr/local/libexec/mysqld: ready for connections.
Version: '5.5.8-log' socket: '/tmp/mysql.sock' port: 3306 Source distribution
Und dann ist Ruhe. Der obige Fehler taucht im pureftpd.log auf. Wenn ich per tcpdump an den internen Interfaces "mitlausche" wird die SQL Verbindung aufgebaut bis der "latin1" Fehler kommt, dann meldet pureftpd die Auth wäre fehlgeschlagen - verständlich wenn keine Daten gelesen werden können.
Ich würde morgen nochmal Mysql komplett aus den Sources installieren - ohne die Port Patches - und dann pureftpd nochmal - auch ohne Port.
Dann sehen was dabei rauskommt.
Jetzt erstmal das neue Jahr begrüssen - Danke erstmal soweit
EDIT:
Ich habe nochmal das Ganze lokal aufgesetzt. MySQL und Pureftpd - beides war vorher noch nicht installiert - Ergebnis ist das Gleiche. :-?
2. EDIT:
Das Gleiche wenn der MySQL Server auf einem Slackware oder Windows läuft - kompiliert im Eigenbau ohne jegliche Patches. Ich vermute der Fehler liegt in der Client Bibliothek irgendwo oder in Pureftpd / Dovecot. Da:
/usr/local/share/mysql/charsets/
Weder auf der Slackware- noch der Windows Kiste existieren.