Beschreibung:
Betriebssystem: CentOS
Zweck: Regelmäßig überwachen, ob die MySQL-Master-Slave-Datenbank synchronisiert ist. Wenn nicht, notieren Sie die Fehlerzeit und führen Sie den Befehl zur Wiederherstellung des Masters aus -Slave-Synchronisierungsstatus
1. Erstellen Sie eine Skriptdatei
vi /home/crontab/check_mysql_slave.sh #Bearbeiten, fügen Sie den folgenden Code hinzu
#!/bin/sh
# check_mysql_slave Status
# Autor www.osyunwei.com
ip=eth0 #Netzwerkkartenname
mysql_binfile=/usr/local/mysql/ bin/mysql
mysql_user=root #MySQL-Datenbankkonto
mysql_pass=123456 #Passwort
mysql_sockfile=/tmp/mysql.sock
datetime=` date +"%Y-%m -%d/%H:%M:%S"` #Erhalten Sie die aktuelle Uhrzeit
mysql_slave_logfile=/home/logs/check_mysql_slave.log #Der Protokolldateipfad muss sein im Voraus erstellt
slave_ip =`ifconfig $ip|grep "inet addr" |. awk -F[:" "]+ '{print $4}'`
status=$($mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "show Slave StatusG" |. `
Slave_SQL_Running=` echo $status |. grep Slave_SQL_Running | " ]
dann echo „Slave läuft!“
else
echo „ $datetime $slave_ip Slave läuft nicht!“ >> $mysql_slave_logfile
$mysql_binfile -u$mysql_user - p$mysql_pass -S $mysql_sockfile -e "SLAVE STOP;"
$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "SET GLOBAL SQL_SLAVE_SKIP_COUNTER =1;"
$mysql_binfile -u$mysql_user -p$mysql_pass -S $mysql_sockfile -e "SLAVE START;"
$mysql_binfile -u$mysql_user -p$mysql_pass -S $ mysql_sockfile -e "EXIT"
fi
:wq! #Speichern und beenden
chmod +x /home/crontab/check_mysql_slave.sh #Skriptausführungsberechtigungen hinzufügen
2. Aufgabenplan hinzufügen, /etc/crontab ändern
vi /etc/crontab #Add
*/10 * * * * root /home/crontab/ check_mysql_slave.sh #zeigt alle 10 Minuten in der letzten Zeile an. Einmal ausführen
:wq! #Speichern und beenden
3. Starten Sie crond neu, damit die Einstellungen wirksam werden
/ etc/rc.d/init.d/crond restart #yum install -y vixie-cron-Installation geplante Aufgabe, einige Systeme sind möglicherweise nicht vorinstalliert
chkconfig crond on #Set to boot
service crond start #Start
gemäß Protokolldatei /home/logs/check_mysql_slave.log MySQL-Master-Slave-Synchronisationsstatus anzeigen
An diesem Punkt das Shell-Skript zur Überwachung der MySQL-Master-Slave-Synchronisation unter Linux ist abgeschlossen.