:::: MENU ::::

WebDevExp

Meine Erfahrungen in der Webentwicklerwelt

Mehrere MySQL Instanzen auf einem Server

mysql

Mehrere MySQL Instanzen auf einem Server

Die täglichen MySQL Backups sollte nicht mehr auf den Produktivservern geschehen, also wurde ein Dump-Server angeschafft, der die verschiedenen MySQL-Server (Master-Slave-Verbund + diverse „Hilfsserver“), einfach repliziert. Hier können dann täglich Dumps gezogen werden.

Das Problem, das auftrat und, meiner Meinung nach, nur schlecht Dokumentiert ist, ist das Betreiben von mehreren, unabhängigen MySQL Instanzen auf einerm Server.

Das normale Datenverzeichnis „/var/lib/mysql“ muss „aufgeteilt“ werden, für jede Instanz, ein Unterverzeichnis: /var/lib/mysql/db1 – db5

Dasselbe geschiet mit den Konfigurationsverzeichnissen: /etc/mysql/db1 – db5

Das init.d Script /etc/init.d/mysql muss für jede Instanz einmal vorhanden sein (/etc/init.d/mysql_db1 – mysql_db5) und danach angepasst werden. Ich führe hier NUR die Änderungen auf, der Rest bleibt, wie er vorher schon war:

export HOME=/etc/mysql_db1

if [ ! -r /etc/mysql_db1/my.cnf ]; then
log_warning_msg „$0: WARNING: /etc/mysql_db1/my.cnf (…)“
echo „WARNING: /etc/mysql_db1/my.cnf cannot be read. (…)“ | $ERR_LOGGER
fi

/usr/bin/mysqld_safe –log-bin=mysql-bin-db1.log –datadir=/var/lib/mysql/db1 –socket=/var/run/mysqld/mysqld_db1.sock –port=3307 > /dev/null 2>&1 &

output=$(/etc/mysql_db1/debian-start)

if [ -f /etc/mysql_db1/debian-log-rotate.conf ]; then
echo „/etc/mysql_db1/debian-log-rotate.conf is (..)“ | $ERR_LOGGER -p daemon.info
fi

Nachteil hierbei ist, dass mysql nicht mehr über /etc/init.d/mysql_db1 stop zu stoppen ist. Der Prozess muss gekillt werden (kill [PID]), wodurch er runterfährt. Der Port muss für jede Instanz ein anderer sein.

In der my.cnf der jeweiligen Instanzen müssen noch alle Pfade, sowie Ports angepasst werden.

Will man sich mit der Konsole verbinden, muss ein zusätzlicher Parameter hinzugefügt werden.

mysql -uUSER -pPASS –socket=/var/run/mysql_db1.sock

2 Comments

Leave a comment

Loading Facebook Comments ...