Volver al blog

MySQL High Performance

Nick
13 Jan. 2022
1,4k
La versión de audio se crea una sola vez al reproducirla por primera vez.
MySQL High Performance

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 ' replikations-user@192.168.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

¿Te ha resultado útil este contenido?

·