Heim Datenbank MySQL-Tutorial 实战:mysql5.6复制延迟监控_MySQL

实战:mysql5.6复制延迟监控_MySQL

Jun 01, 2016 pm 01:02 PM
实战

#repdelay.sh
#!/bin/sh
#ocpyang@126.com
#查看复制延迟具体多少event

#set mysql evn
MYSQL_USER_MASTER=root  
MYSQL_PASS_MASTER='password'  
MYSQL_HOST_MASTER=192.168.2.188

MYSQL_USER_SLAVE=root  
MYSQL_PASS_SLAVE='password'  
MYSQL_HOST_SLAVE=192.168.2.14

tmpfile_01="tmp01.`date +%Y%m%d%H%M%S`.txt"
tmpfile_02="tmp02.`date +%Y%m%d%H%M%S`.txt"
mysql -h${MYSQL_HOST_MASTER} -u${MYSQL_USER_MASTER} -p${MYSQL_PASS_MASTER} -e"SHOW BINARY LOGS;" >${tmpfile_01}
mysql -h${MYSQL_HOST_SLAVE} -u${MYSQL_USER_SLAVE} -p${MYSQL_PASS_SLAVE} -e"SHOW SLAVE STATUS\G;" >${tmpfile_02}

#tail -1 ${tmpfile_01} | grep -v "Log_name"
#cat ${tmpfile_02} | grep -E 'Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos' | grep -v "Relay_Master_Log_File" |sed 's/^[ ]*//g'
a=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk '{print $1}'|awk -F "." '{print $2}'`
b=`sed -n "/\<Master_Log_File\>/p" ${tmpfile_02} |sed &#39;s/^[ ]*//g&#39; |awk -F ":" &#39;{print $2}&#39;|awk -F "." &#39;{print $2}&#39;`
bhtime=`sed -n "/\<Seconds_Behind_Master\>/p" ${tmpfile_02} |sed &#39;s/^[ ]*//g&#39; |awk -F ":" &#39;{print $2}&#39;`

if [ "$b" = "$a"  ];then
	c=`tail -1 ${tmpfile_01} | grep -v "Log_name" |awk &#39;{print $2}&#39;`
	d=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02}  |sed &#39;s/^[ ]*//g&#39; |awk -F ":" &#39;{print $2}&#39;`
        e=`expr $c - $d`
	if [ "${e}" -eq 0  -a "${bhtime}" -eq 0  ]; then
		echo "*****************************************************************************"
		echo -e "\e[1;31m  &&&&&&&Synchronization has been completed!&&&&&&& \e[0m"
		echo "*****************************************************************************"
	elif [  "${e}" -eq 0  -o "${bhtime}" -eq 0  ];then
		echo "*****************************************************************************"
		echo -e "\e[1;31m  Has been synchronized to the same log file! Wait a moment \e[0m"
		echo -e "\e[1;31m Not synchronized binlog events is:${e},behind master tims is ${bhtime} \e[0m"
		echo "*****************************************************************************"
	fi

elif  [ ${b} -lt ${a} ];then
	f=`sed -n "/\<Read_Master_Log_Pos\>/p" ${tmpfile_02}  |sed &#39;s/^[ ]*//g&#39; |awk -F ":" &#39;{print $2}&#39;`
	g=`awk &#39;$1 >= "$b"  {print $2}&#39; ${tmpfile_01} |awk &#39;BEGIN{total=0}{total+=$1}END{print total}&#39;`
	re=`expr $g - $f`
        echo -e "\e[1;31m There are multiple log files are not synchronized,the  events is:${re} \e[0m"

fi

rm -rf ${tmpfile_01}

rm -rf ${tmpfile_02}
Nach dem Login kopieren

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP-Praxis: Codebeispiel zur schnellen Implementierung der Fibonacci-Folge PHP-Praxis: Codebeispiel zur schnellen Implementierung der Fibonacci-Folge Mar 20, 2024 pm 02:24 PM

PHP-Übung: Codebeispiel zur schnellen Implementierung der Fibonacci-Folge Die Fibonacci-Folge ist eine sehr interessante und häufig vorkommende Folge in der Mathematik. Sie ist wie folgt definiert: Die erste und zweite Zahl sind 0 und 1, und ab der dritten Zahl beginnt jede Zahl ist die Summe der beiden vorherigen Zahlen. Die ersten Zahlen in der Fibonacci-Folge sind 0,1,1,2,3,5,8,13,21 usw. In PHP können wir die Fibonacci-Folge durch Rekursion und Iteration generieren. Im Folgenden zeigen wir diese beiden

Java-Entwicklungspraxis: Integration des Qiniu-Cloud-Speicherdienstes zum Erreichen des Datei-Uploads Java-Entwicklungspraxis: Integration des Qiniu-Cloud-Speicherdienstes zum Erreichen des Datei-Uploads Jul 06, 2023 pm 06:22 PM

Java-Entwicklungspraxis: Integration des Qiniu-Cloud-Speicherdienstes zur Implementierung des Datei-Uploads Einführung Mit der Entwicklung von Cloud Computing und Cloud-Speicher müssen immer mehr Anwendungen Dateien zur Speicherung und Verwaltung in die Cloud hochladen. Die Vorteile von Cloud-Speicherdiensten sind hohe Zuverlässigkeit, Skalierbarkeit und Flexibilität. In diesem Artikel wird erläutert, wie Sie die Java-Sprachentwicklung verwenden, den Cloud-Speicherdienst Qiniu integrieren und die Funktion zum Hochladen von Dateien implementieren. Über Qiniu Cloud Qiniu Cloud ist ein führender Anbieter von Cloud-Speicherdiensten in China, der umfassende Cloud-Speicher- und Inhaltsverteilungsdienste anbietet. Benutzer können Qiniu Yunti verwenden

MySQL-Tabellendesign-Praxis: Erstellen Sie eine E-Commerce-Bestelltabelle und eine Produktbewertungstabelle MySQL-Tabellendesign-Praxis: Erstellen Sie eine E-Commerce-Bestelltabelle und eine Produktbewertungstabelle Jul 03, 2023 am 08:07 AM

MySQL-Tabellenentwurfspraxis: Erstellen Sie eine E-Commerce-Bestelltabelle und eine Produktbewertungstabelle. In der Datenbank der E-Commerce-Plattform sind die Bestelltabelle und die Produktbewertungstabelle zwei sehr wichtige Tabellen. In diesem Artikel wird erläutert, wie Sie MySQL zum Entwerfen und Erstellen dieser beiden Tabellen verwenden, und es werden Codebeispiele aufgeführt. 1. Entwurf und Erstellung der Bestelltabelle Die Bestelltabelle dient zum Speichern der Kaufinformationen des Benutzers, einschließlich Bestellnummer, Benutzer-ID, Produkt-ID, Kaufmenge, Bestellstatus und anderer Felder. Zuerst müssen wir mit CREATET eine Tabelle mit dem Namen „order“ erstellen

Golang Practical Combat: Austausch von Implementierungstipps für die Datenexportfunktion Golang Practical Combat: Austausch von Implementierungstipps für die Datenexportfunktion Feb 29, 2024 am 09:00 AM

Die Datenexportfunktion ist eine sehr häufige Anforderung in der tatsächlichen Entwicklung, insbesondere in Szenarien wie Back-End-Managementsystemen oder dem Export von Datenberichten. In diesem Artikel wird die Golang-Sprache als Beispiel verwendet, um die Implementierungsfähigkeiten der Datenexportfunktion zu teilen und spezifische Codebeispiele zu geben. 1. Vorbereitung der Umgebung Bevor Sie beginnen, stellen Sie sicher, dass Sie die Golang-Umgebung installiert haben und mit der grundlegenden Syntax und Funktionsweise von Golang vertraut sind. Darüber hinaus müssen Sie zur Implementierung der Datenexportfunktion möglicherweise eine Bibliothek eines Drittanbieters verwenden, z. B. github.com/360EntSec

Bringen Sie Ihnen Schritt für Schritt bei, wie Sie Uniapp- und Mini-Programme an Subunternehmer vergeben (Bilder und Text). Bringen Sie Ihnen Schritt für Schritt bei, wie Sie Uniapp- und Mini-Programme an Subunternehmer vergeben (Bilder und Text). Jul 22, 2022 pm 04:55 PM

Dieser Artikel vermittelt Ihnen relevantes Wissen über domänenübergreifende Uniapp-Programme und stellt Fragen im Zusammenhang mit der Untervergabe von Uniapp- und Miniprogrammen vor. Jedes Miniprogramm, das Untervergabe verwendet, muss ein Hauptpaket enthalten. Im sogenannten Hauptpaket werden die Standard-Startseite/TabBar-Seite sowie einige öffentliche Ressourcen/JS-Skripte platziert, die alle Unterpakete verwenden müssen, während die Unterpakete hoffentlich entsprechend der Konfiguration des Entwicklers unterteilt sind es wird für alle hilfreich sein.

Eingehende Untersuchung der Elasticsearch-Abfragesyntax und praktischer Kampf Eingehende Untersuchung der Elasticsearch-Abfragesyntax und praktischer Kampf Oct 03, 2023 am 08:42 AM

Eingehende Untersuchung der Elasticsearch-Abfragesyntax und praktische Einführung: Elasticsearch ist eine auf Lucene basierende Open-Source-Suchmaschine. Sie wird hauptsächlich für die verteilte Suche und Analyse verwendet. Sie wird häufig bei der Volltextsuche großer Datenmengen und bei der Protokollanalyse verwendet , Empfehlungssysteme und andere Szenarien. Bei der Verwendung von Elasticsearch für Datenabfragen ist die flexible Verwendung der Abfragesyntax der Schlüssel zur Verbesserung der Abfrageeffizienz. Dieser Artikel befasst sich mit der Elasticsearch-Abfragesyntax und stellt sie anhand tatsächlicher Fälle dar.

Vue-Praxis: Entwicklung von Datumsauswahlkomponenten Vue-Praxis: Entwicklung von Datumsauswahlkomponenten Nov 24, 2023 am 09:03 AM

Vue Practical Combat: Datumsauswahl-Komponentenentwicklung Einführung: Die Datumsauswahl ist eine Komponente, die häufig in der täglichen Entwicklung verwendet wird. Sie kann Daten einfach auswählen und bietet verschiedene Konfigurationsoptionen. In diesem Artikel wird erläutert, wie Sie mit dem Vue-Framework eine einfache Datumsauswahlkomponente entwickeln und spezifische Codebeispiele bereitstellen. 1. Anforderungsanalyse Vor Beginn der Entwicklung müssen wir eine Anforderungsanalyse durchführen, um die Funktionen und Eigenschaften der Komponenten zu klären. Gemäß den allgemeinen Funktionen der Datumsauswahlkomponente müssen wir die folgenden Funktionspunkte implementieren: Grundfunktionen: können Daten auswählen und

Dynamische Golang-Bibliothekspraxis: Fallaustausch und praktische Fähigkeiten Dynamische Golang-Bibliothekspraxis: Fallaustausch und praktische Fähigkeiten Mar 01, 2024 am 08:30 AM

Praxis der dynamischen Golang-Bibliothek: Fallaustausch und praktische Fähigkeiten In Golang (Go-Sprache) können durch die Verwendung dynamischer Bibliotheken Funktionen wie modulare Entwicklung, Code-Wiederverwendung und dynamisches Laden erreicht werden. In diesem Artikel wird anhand von Fallbeispielen und praktischen Tipps erläutert, wie dynamische Bibliotheken in Golang verwendet werden und wie dynamische Bibliotheken verwendet werden, um die Flexibilität und Wartbarkeit von Code zu verbessern. Was ist eine dynamische Bibliothek? Eine dynamische Bibliothek ist eine Datei, die Funktionen und Daten enthält, die zur Laufzeit geladen werden können. Im Gegensatz zu statischen Bibliotheken, die zur Kompilierungszeit in die Anwendung eingebunden werden müssen, ist dies bei dynamischen Bibliotheken möglich

See all articles