2 mysql server parallel - 4.1 und 5.0

francosdad

New Member
hallo,

ich habe einen vserver bei strato laufen. dieser läuft unter plesk 8.4 und suse linux 10.3 mit mysql 5.0.

das problem ist, dass ich noch eine zweite datenbank benötige, diese aber zwingend unter mysql 4.1 laufen muss, da CAO FAKTURA nicht unter 5.0 läuft.

nun habe ich mir von mysql.com das standard linux paket für 4.1.22 heruntergeladen, schon entpackt und unter das verzeichnis /opt/mysql41 geschoben.

wie kann ich jetzt aber den mysql 4.1.22 parallel aufrufen und unter einem anderen port betreiben.

hat jemand ein passendes howto parat oder ideen wie ich es umsetzen kann?

vielen dank im voraus und beste grüsse
francosdad
 
PS: Bitte die Nutzungsbedingungen, Punkt 3.2 beachten. Danke.

Sorry, ich werde versuchen mich daran zu halten.

Kannst du in der entsprechenden my.cnf für den 4.x Server setzten:
Code:

port=3306

Verlege diesen beispielsweise auf 3336.

Das ist mir schon klar, mein Problem beginnt leider etwas früher. Ich werde mal kurz mein Vorgehen skizzieren:

1. Paketdatei mysql-standard-4.1.22-pc-linux-gnu-i686.tar.gz heruntergeladen
2. Entpackt unter /usr/local
3. Verzeichnis umbenannt in /usr/local/mysql41
4. Benutzer hinzugefügt:
Code:
useradd -d "/usr/local/mysql41" -c "MySQL41 Daemon User" -s "/bin/false" -g "mysql" -m mysql41
5. Konfiguration:
Code:
./configure --prefix=/usr/local/mysql41 --with-unix-socket-path=/usr/local/mysql41/var/mysqld.sock --with-mysqld-user=mysql41 --with-server-suffix=mysql41 --with-tcp-port=3308
6. Jetzt wollte ich das ganze installieren mit
Code:
make && make install

Als Fehlermeldung bekomme ich jetzt aber: Keine target angegeben und keine "make" Steuerdatei gefunden.

Hier hänge ich fest und weiss nicht mehr weiter. Die Anleitung habe ich übrigens aus dem CAO Faktura Forum: CAO-Faktura

Ich möchte gerne wieder mein System auf CAO Faktura umstellen bis nächstes Jahr, da ich mit diesem Programm sehr gute Erfahrungen gemacht habe.

Nochmal Danke für die Hilfe.

Grüsse
Francosdad
 
1. Paketdatei mysql-standard-4.1.22-pc-linux-gnu-i686.tar.gz heruntergeladen
Das ist bereits ein Binary. Vergleiche es mit der Datei die in dem verlinkten Howto geladen wird. Dies ist ein Source-Paket.
Ein Source muß compiliert werden (configure && make && make install), und ein Binary ist bereits compiliert.

huschi.
 
Hallo,

ich habe es jetzt installiert bekommen. Da waren nicht alle notwendigen Compiler installiert.

Das nächste Problem ist aber, dass ich den zweiten MySQL Server nicht starten kann, d.h. wenn ich /etc/init.d/mysql41 start eingebe, kommt MySQL ......... failure

Ich habe das log File mal beigefügt:

Code:
081222 17:38:26  mysqld started
081222 17:38:26 [ERROR] Can't start server : Bind on unix socket: Permission denied
081222 17:38:26 [ERROR] Do you already have another mysqld server running on socket: /usr/local/mysql41/var/mysql.sock ?
081222 17:38:26 [ERROR] Aborting

081222 17:38:26 [Note] /usr/local/mysql41/libexec/mysqld: Shutdown complete

081222 17:38:26  mysqld ended

Ich habe aber eigentlich in der my.cnf für den zweiten server einen anderen Port eingestellt.

Hat jemand ne Ahnung wo ich einen Denkfehler habe?

Gruss
Francosdad
 
Can't start server : Bind on unix socket: Permission deniedDo you already have another mysqld server running on socket: /usr/local/mysql41/var/mysql.sock ?
a) Socket != Port
b) Entweder mit netstat nach dem Prozess suchen...
c) oder überprüfen ob überhaupt die Berechtigung für den User besteht, dort einen Socket anzulegen.

huschi.
 
Hallo,

ich komme da trotzdem nicht weiter.
Ich habe doch; denke ich; mit dem folgenden befehl die Berechtigung gegeben, oder:

chown -R mysql41:mysql /usr/local/mysql41

Welche Rechte muss ich denn noch einräumen, damit er den socket anlegen kann?

Gruss
Francosdad
 
Evtl. schon richtig. Wenn der User mysql41 und die Gruppe mysql existieren.
(Das können wir von dieser Seite des Monitors nicht sehen oder überprüfen.)

Und wie sieht es mit dem /usr/local/mysql41/var-Verzeichnis aus?

huschi.
 
Also die Verzeichnisrechte sehen wie folgt aus:

Code:
drwxr-xr-x 2 mysql41 mysql 4096 22. Dez 16:49 bin
drwxr-xr-x 3 mysql41 mysql 4096 22. Dez 16:49 include
drwxr-xr-x 2 mysql41 mysql 4096 22. Dez 16:49 info
drwxr-xr-x 3 mysql41 mysql 4096 22. Dez 16:49 lib
drwxr-xr-x 2 mysql41 mysql 4096 22. Dez 16:49 libexec
drwxr-xr-x 4 mysql41 mysql 4096 22. Dez 16:49 man
drwxr-xr-x 8 mysql41 mysql 4096 22. Dez 17:01 mysql-test
drwxr-xr-x 3 mysql41 mysql 4096 22. Dez 16:49 share
drwxr-xr-x 5 mysql41 mysql 4096 22. Dez 16:49 sql-bench
drwx------ 4 mysql41 mysql 4096 22. Dez 18:52 var

Ich habe mit less /etc/passwd mir die User ausgeben lassen und als letzter steht:

Code:
mysql41:x:10003:104:MySQL41 Deamon User:/usr/local/mysql41:/bin/false

Ich bin halt ein Newbie und jetzt langsam mit meinem Latein am Ende.

Zur Information: Der User wurde wie folgt angelegt:

useradd -d "/usr/local/mysql41" -c "MySQL41 Daemon User" -s "/bin/false" -g "mysql" -m mysql41

Gruss
Francosdad
 
Ich habe jetzt alle Verzeichnisrechte bis runter auf /usr auf 0777 gesetzt.

Jetzt erhalte ich eine neue Fehlermeldung im log:

Code:
081222 22:37:13  mysqld started
081222 22:37:13  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
081222 22:37:13  InnoDB: Starting log scan based on checkpoint at
InnoDB: log sequence number 0 30960.
InnoDB: Doing recovery: scanned up to log sequence number 0 30960
081222 22:37:13  InnoDB: Flushing modified pages from the buffer pool...
InnoDB: Doublewrite buffer not found: creating new
InnoDB: Cannot create doublewrite buffer: you must
InnoDB: increase your buffer pool size.
InnoDB: Cannot continue operation.
081222 22:37:13  mysqld ended

Jetzt stehe ich gänzlich auf den Schlauch.

Gruss Francosdad
 
Ich habe jetzt alle Verzeichnisrechte bis runter auf /usr auf 0777 gesetzt.
Ganz ganz schlechte Idee.... Jetzt kann jedes Script-Kiddy, das über irgend eine triviale Lücke eindringt, den Server völlig übernehmen.

Ansonsten solltest Du Dir in /etc/my.cnf mal den Kommentar zu "innodb_buffer_pool_size" durchlesen, bzw. Dir die Bedeutung der einzelnen Parameter er-googeln.
 
Back
Top