Home Hosters Blog MySQL High Performance

MySQL High Performance Drucken

Ein MySQL-Server als High-Performance-Lösung entspannt den Admin, wenn der Main Frame mal komplett crasht. Dieser Artikel zeigt Ihnen, wie Sie einen MySQL-Server aufsetzen, der seine Daten 'Life' auf einen Backup-Server schreibt. So haben Sie im Falle eines System-Crashs auf der Hauptmaschine immer noch ein aktuelles Backup auf einer zweiten Maschine.

Ich gehe davon aus, dass bereits zwei MySQL-Server auf unterschiedlichen Servern laufen. Die Funktion Networking muss aktiviert sein (dies ist standardmäßig der Fall.)

Als erstes wird der Master-MySQL-Server definiert. Das geschieht in der Datei 'my.cnf'. Diese liegt im allgmeinem im Ordner /etc/. In der Datei my.cnf wird im Bereich [mysqld] folgender Eintrag zugefügt:

log-bin
server-id=1

Jetzt wird auf dem Master-Server ein Replikations-User angelegt, der das Privileg 'Replication Slave' bekommt. Bei MySQL-Versionen unter 4.0.2 gibt es dieses Privileg nicht. Stattdessen wird dann das 'File' Privileg verwendet. Den Replikations-User tragen wir später auf dem SLAVE-Server ein (in der dortigen my.cnf Datei). Der Replikations-Account wird mit dem Befehl 'grant' wie folgt angelegt:
grant replication slave on *.* to Slave@Host.domain.deDiese E-Mail Adresse ist gegen Spam Bots geschützt, Sie müssen Javascript aktivieren, damit Sie es sehen können    identified by 'Passwort';

Der Replikations-User muss also von dem Host des SLAVE-Servers auf den MASTER-Server zugreifen können
(Hinweis: MySQL User auf dem MASTER-Server anlegen).

- Snapshot anlegen:

Nun wird ein Snapshot der vorhanden Daten angelegt, die wir auf den SLAVE-Server legen.
Dazu wechseln wir in das Datenverzeichnis des MySQL-Servers (oftmals: /var/lib/mysql).
Hier werden folgende Befehl zur Erstellung eines Snapshots ausgeführt:

/etc/init.d/mysqld stop
tar -cvf /tmp/master-snapshot.tar *
/etc/init.d/mysqld start

Im /tmp Verzeichnis liegt nun ein aktuelles SNAPSHOT der Datenbank als Tarball.
Eine Kopie des Tarballs kommt in das Datenverzeichnis des SLAVE-Serves, die wir dort mit dem Befehl

tar -xvf master-snapshot.tar

entpacken.

Vorher sollte der MySQL-Server auf der Backup-Maschine gestoppt werden.
Anschließend kann der Tarball aus /var/lib/mysql gelöscht werden.



Der Slave Server bekommt einen Eintrag in die my.cnf Datei: (Bereich [mysqld])

server-id=2
master-host=<IP-Adresse des Master Servers>
master-user=<REPLICATIONS_USER>
master-password=<REPLICATIONS_PASSWORT>
master-port=3306
relay-log=<SLAVES-HOSTNAME>-relay-bin

Die Einträge master-host, master-user, master-password werden ohne < und > am Anfang wie Ende eingetragen.

SLAVE ZUM UDATEN ÜBERREDEN

Der Slave-Server ist nun bereit. Das LIVE-Update kann also beginnen.
Damit es aber sauber funktioniert, muss am SLAVE Server noch eine Einstellung vorgenommen werden.
Geben Sie zur Anmeldung am SLAVE-Server folgenden Befehl ein:
'mysql -u root -p'
Nach der Passwort-Eingabe können Sie am Mysql prompt folgenden Befehl ablassen:
slave start;
Bei einigen MySQL-Versionen lautet der Befehl: 'start slave;'



Der SLAVE merkt sich nur, dass er als SLAVE arbeiten soll.


Nachtrag:

Falls es nicht gleich klappen sollte, hilft ein Blick in die Error-Log-Datei des MySQL-Servers. Diese Datei befindet sich oftmals unter: ' /var/log/mysqld.log'.

Sehr oft hindern lediglich Firewall-Einstellungen, dass Sie erfolgreich sind...


Um von dem Slave Server zu kontrollieren ob sich überhautpt auf dem Master Server zugegriffen werden kann,
kann manauf der Shell wie folgt vorgehen:

mysql -u slave -h 192.168.1.1 -p<pass> (das passwort direkt ohne Leerzeichen hinter das -p)

Hat die MySQL-Log-Datei einen Eintrag wie:

060405 21:47:39  Slave: connected to master ' Diese E-Mail-Adresse ist gegen Spambots geschützt! Sie müssen JavaScript aktivieren, damit Sie sie sehen können. .1.1Diese E-Mail Adresse ist gegen Spam Bots geschützt, Sie müssen Javascript aktivieren, damit Sie es sehen können :3306',  replication started in log 'FIRST' at position 4,

ist der SLAVE-Server korrekt konfiguriert und beginnt als SLAVE zu arbeiten.

Im Verzeichnis '/var/lib/mysql' befindet sich nun eine neue Datei mit dem Namen: 'master.info'.
Diese Datei beinhaltet Daten des Master-Servers:

Beispiel:
www-bin.003
1988
192.168.1.1
replikations-user
replikations-password
3306
60

==============================================================

 

 

Kontakt
Impressum
AGB
Datenschutz
DomainAutomat 
Joomla-Hosting24 
German-Congress-Group 
Isp4you Software 
Joomla Hosting
Typo3 Hosting
Wordpress Hosting
 © 2010 by Provider4u GmbH
Alle Preise inkl. 19% MwSt.

 

 




 
 


Joomla Best Price Hosting Joomla Webhosting Joomla Hosting Joomla Webhosting Joomla Hosting serving deutschen bundestag fairprice garantie