Duale mysql Installation: msyql 4.0.13 und mysql 4.1
Hallo zusammen, hat jemand Erfahrung, wie man unter SUSE Linux 8.0 zwei mysql Versionen (4.0.13 u. 4.1) gleichzeitig betreiben kann? Ich habe eine duale Installation ausprobiert, bin aber immer wieder daran gescheitert, dass beide auf die gleichen Konfigurationsdateien /etc/my.cnf und auf denselben Port zugreifen wollen. Grüße aus Bamberg, Andreas
Am Montag 04 August 2003 16:50 schrieb Andreas Weber:
hat jemand Erfahrung, wie man unter SUSE Linux 8.0 zwei mysql Versionen (4.0.13 u. 4.1) gleichzeitig betreiben kann? Ich habe eine duale Installation ausprobiert, bin aber immer wieder daran gescheitert, dass beide auf die gleichen Konfigurationsdateien /etc/my.cnf und auf denselben Port zugreifen wollen.
Nunja - Du kannst Dir MySQL selbst aus den Sourcen compilieren und dabei beliebige Verzeichnisse mit angeben. Ich selbst liebe es z.B. die Serverdienste in Verzeichnisse wie /news und so zu packen. Daher wäre z.B. denkbar: /mysql-4.1 /mysql-4.0 (Hintergrund ist hier, dass ich den Teilen per LVM eigene LVs gebe und ich möchte da nicht unnötig hinterher rennen. Wo ist welches Configfile und wo liegt was ... So habe ich alles deutlich besser im Griff. Desweiteren habe ich beim INND gelernt, dass man bei Serverdiensten oft nur Müll vorgesetzt bekommt von den Dists. Da kompiliere ich doch schon gerne. Oder ist der innd bei SuSE mitlerweile so, dass man ein site-Verzeichnis mit allen Config-Dateien hat?) Dann hast Du natürlich auch unterschiedliche Configfiles und damit unterschiedliche Ports. Eine andere Lösung könnte sein, dass Du chroot-Umgebungen für mysql aufbaust und dann darüber unterschiedliche /etc bekommst. Hat auch etwas für sich. Mit den besten Grüßen, Konrad
Andreas Weber schrieb:
Hallo zusammen,
hat jemand Erfahrung, wie man unter SUSE Linux 8.0 zwei mysql Versionen (4.0.13 u. 4.1) gleichzeitig betreiben kann? Ich habe eine duale Installation ausprobiert, bin aber immer wieder daran gescheitert, dass beide auf die gleichen Konfigurationsdateien /etc/my.cnf und auf denselben Port zugreifen wollen.
Baue Dir ein Start-Script bzw. nutze das von MySQL gelieferte -LSB-konforme- und wandele entsprechend ab. Du findest das Skript als /dein/pfad/zum/MySQL-Verzeichnis/support-files/mysql.server Auszug: bindir = /dein/pfad/zum/MySQL-bin-Verzeichnis mycnf = /dein/pfad/zur/my.cnf datadir = /dein/pfad/zum/Datenbank-Verzeichnis pid_file = /dein/pfad/zum/MySQL-PID-File socket = /dein/pfad/zum/MySQL-Socket port = deine Port-Nummer $bindir/mysqld_safe \ --defaults-file=$mycnf \ --datadir=$datadir \ --pid-file=$pid_file \ --socket=$socket \ --port=$port & Versuche, den MySQL-Server mit dem geänderten Start-Skript zu starten: z.B. $ mysql.server start Wenn anschließend ein $ telnet localhost deine-MySQL-Portnummer erfolgreich ist, kannst Du das Skript nach /etc/init.d kopieren und mit $ insserv mysql.server ^(oder wie auch immer dein Skript heißt) oder mit dem YaST-Runlevel-Editor für immer automatisch starten lassen. Beim Verbindungsaufbau mit der DB ist nun darauf zu achten, daß die entsprechende my.cnf die nötigen Informationen enthält und/oder der MySQL-Client mit den erforderlichen Optionen gefüttert wird: z.B. $ /usr/local/mysql4.was-weiss.ich/bin/mysql \ --defaults-file=/usr/local/mysql4.was-weiss.ich/data/my.cnf \ --socket=/usr/local/mysql4.was-weiss.ich/data/mysql4.sock \ -u Benutzer -p Das sollte genügen... Gruß Thomas
participants (3)
-
Andreas Weber
-
Konrad Neitzel
-
Thomas Abraham