[Betriebs- und Wartungspraxis] TIDB v6.1.1: Analyse der Methoden zur vollständigen Sicherung, vollständigen Wiederherstellung und inkrementellen Sicherung

Autor: Fly-bird Originalquelle: https://tidb.net/blog/0b55fa52

Hintergrund : Aufgrund von Unternehmensanforderungen muss die Datensicherheit der Datenbank gewährleistet sein. Die Datenbank in unserer Produktionsumgebung verwendet die Methode der vollständigen Sicherung + inkrementellen Sicherung + Echtzeitsynchronisierung aus der Datenbank, um eine hohe Verfügbarkeit der Datenbank sicherzustellen. Dieser Artikel stellt die Datenbanksicherungsmethode der Produktionsumgebung unseres Unternehmens vor.

Hinweis: Wir verwenden die Echtzeitsynchronisierung von Daten mit der Slave-Datenbank, um eine hohe Verfügbarkeit sicherzustellen (mithilfe von Pump+Drainer). Wir unterstützen auch den Vorgang der jederzeitigen Datenwiederherstellung, um ein versehentliches Löschen von Daten zu verhindern, was in einem anderen Artikel vorgestellt wird . Die Pumpe generiert Binlog-Protokolle und der Drainer synchronisiert sich mit nachgeschalteten Daten.

**Hinweis: **Dieser praktische Vorgang verwendet das BR-Tool und die Pump+Drainer-Komponenten von Tidb, um eine vollständige Sicherung, Wiederherstellung und inkrementelle Sicherung der Datenbank zu erreichen (die Sicherung wird als Datei gespeichert). Das Folgende ist der eigentliche Vorgang:

1. Installieren Sie Tidb . Dieser Dienst wird als Zielmaschine für die Datenwiederherstellung verwendet (dies wird zum Abrufen von Daten verwendet. Um Ressourcen zu sparen, installieren Sie einen einzelnen Tidb-Knoten). Die Installationsschritte sind wie folgt:

1. Installieren Sie das Tiup-Tool

curl --proto '=https' --tlsv1.2 -sSf https://tiup-mirrors.pingcap.com/install.sh |sh

2. Umgebungsvariablen festlegen

source .bash_profile

3. Komponenten installieren

tiup cluster

4. Schreiben Sie die Cluster-Konfigurationsdatei topology.yaml

global:
  user: "tidb"
  ssh_port: 22
  deploy_dir: "/tidb-deploy"
  data_dir: "/tidb-data"
pd_servers:
  - host: 192.168.195.139
tidb_servers:
  - host: 192.168.195.139
tikv_servers:
- host: 192.168.195.139
tiflash_servers:
  - host: 192.168.195.139
monitoring_servers:
  - host: 192.168.195.139
grafana_servers:
  - host: 192.168.195.139
alertmanager_servers:
  - host: 192.168.195.139

5. Überprüfen Sie die Risiken


tiup cluster check ./topology.yaml --user root -p

6. Reparaturrisiken


tiup cluster check ./topology.yaml --apply  --user root -p

7. Cluster bereitstellen

tiup cluster deploy qzn v6.1.1 ./topology.yaml --user root -p

8. Initialisieren Sie den Cluster

tiup cluster start qzn --init      #记录下生成的密码The new password is: '*******'.

9. Die Bereitstellung ist abgeschlossen. Überprüfen Sie die Clusterinformationen wie folgt: Die Datenbank enthält keine Geschäftsdaten.

1695624366899.jpg

2. Pumpenknoten zum ursprünglichen TIDB-Cluster hinzufügen

1. Zeigen Sie die ursprünglichen Clusterinformationen wie folgt an1695622829208.jpg

2. Bearbeiten Sie die Erweiterungsdatei. /data/pump-qzn.yaml ist die Konfigurationsdatei, die erweitert werden muss. Pump generiert eine Binärdatei. Drainer speichert das Binlog in einer Datei. Der spezifische Inhalt lautet wie folgt:

global:
  user: "tsp-tidb"
  ssh_port: 22
  deploy_dir: "/tidb-deploy"
  data_dir: "/tidb-data"
pump_servers:
  - host: 192.168.195.140
    port: 8250
    deploy_dir: "/tidb-deploy/pump-8250"
    data_dir: "/tidb-data/pump-8250"
    # The following configs are used to overwrite the `server_configs.pump` values.
    config:
      gc: 7
drainer_servers:
  - host: 192.168.195.140
    port: 8249
    deploy_dir: "/tidb-deploy/drainer-8249"
    data_dir: "/tidb-data/drainer-8249"
    # If drainer doesn't have a checkpoint, use initial commitTS as the initial checkpoint.
    # Will get a latest timestamp from pd if commit_ts is set to -1 (the default value).
    commit_ts: -1
    # The following configs are used to overwrite the `server_configs.drainer` values.
    config:
      syncer.db-type: "file"

3. Erweitern Sie den Cluster

tiup cluster scale-out 集群名 /data/pump-qzn.yaml --user root -p

Bild.png

4. Überprüfen Sie nach dem Hinzufügen von Pumpenknoten den Clusterstatus

tiup-Cluster zeigt den Namen des Clusters an und stellt sicher, dass jeder Knoten aktiv ist

Bild.png

5. Aktivieren Sie die Binglog-Konfiguration von TIDB

vi /tidb-deploy/tidb-4000/conf/tidb.toml  
加入下面内容
[binlog]
enable = true
ignore-error = true

然后重启tidb
tiup cluster restart qzn -N 192.168.195.140:4000

在mysql客户端中查看是否开启(显示为ON)
show variables like "log_bin";

Bild.png

6. Melden Sie sich bei der Quelldatenbank an, erstellen Sie die Datenbank qzn_test und die Tabelleninfo und fügen Sie eine Datenzeile in die Tabelle ein.

1695623346194.jpg

3. Tidb-Original-Cluster-Sicherungsdaten (hier wird nur die Sicherung einer einzelnen Datenbank angezeigt, Informationen zur Sicherung und Wiederherstellung von br finden Sie in der offiziellen Dokumentation). Laden Sie das BR-Sicherungstool herunter. Für den Sicherungsordner sind 777-Berechtigungen erforderlich. Die Download-Seite ist https: / /cn.pingcap.com/product -community/

mkdir -p /data/qzn/qzn_test   
chmod -R 777 /data/qzn/qzn_test
wget https://download.pingcap.org/tidb-community-toolkit-v6.1.1-linux-amd64.tar.gz
tar -zxvf tidb-community-toolkit-v6.1.1-linux-amd64.tar.gz -C /data/
cd /data/tidb-community-toolkit-v6.1.1-linux-amd64
tar -zxvf br-v6.1.1-linux-amd64.tar.gz -C /data/

cd /data/
./br backup db -s local:///data/qzn/qzn_test --pd "192.168.195.140:2379" --db qzn_test --ratelimit 120 --log-file backupqzn_test.log

Bild.png

4. Tidb-Zieldatenbank-Wiederherstellungsdaten br-Wiederherstellungssicherung (kopieren Sie die Sicherungsdatei auf den Zieldatenbankserver)

Stellen Sie das br-Tool auf dem 139-Server bereit

#140上发送文件到139
scp br [email protected]:/data/
scp -r qzn_test/ [email protected]:/data/qzn/

#在139服务器上操作

./br restore db -s local:///data/qzn/qzn_test --db qzn_test --pd "192.168.195.139:2379" --log-file restore.log

Bild.png

5. Sehen Sie sich die Zieldatenbank an (139). Die Datenwiederherstellung ist abgeschlossen

Bild.png

6. Überprüfen Sie den Datenbankserver 140. Die Binlog-Datei wurde generiert. Bei dieser Datei handelt es sich um eine inkrementelle Sicherungsdatei. Im eigentlichen Sicherungsvorgang wird die Datenbank durch eine tägliche Br-Sicherung + inkrementelle Sicherung gesichert.

Bild.png

Bild.png

Damit sind die grundlegenden Vorgänge der Datenbanksicherung und -wiederherstellung abgeschlossen. Bitte beachten Sie: Wenn der Produktionscluster über mehrere Tikv-Knoten verfügt, müssen Sie während der Sicherung auf der gemeinsam genutzten Festplatte hängen bleiben, damit alle Tikv-Sicherungsdaten auf die gemeinsam genutzte Festplatte geschrieben werden können.

Der Autor des Open-Source-Frameworks NanUI wechselte zum Verkauf von Stahl und das Projekt wurde eingestellt. Die kostenlose Liste Nummer eins im Apple App Store ist die pornografische Software TypeScript. Sie ist gerade populär geworden, warum fangen die Großen an, sie aufzugeben? ? TIOBE-Oktoberliste: Java verzeichnet den größten Rückgang, C# nähert sich Java Rust 1.73.0 veröffentlicht Ein Mann wurde von seiner KI-Freundin dazu ermutigt, die Königin von England zu ermorden und wurde zu neun Jahren Gefängnis verurteilt Qt 6.6 offiziell veröffentlicht Reuters: RISC-V Technologie wird zum Schlüssel zum chinesisch-amerikanischen Technologiekrieg. Neues Schlachtfeld RISC-V: Lenovo wird nicht von einem einzelnen Unternehmen oder Land kontrolliert und plant die Einführung eines Android-PCs
{{o.name}}
{{m.name}}

Ich denke du magst

Origin my.oschina.net/u/5674736/blog/10115090
Empfohlen
Rangfolge