MySQL-Fallkampf - Kaltes Backup der MySQL-Datenbank

Vorwort

Diese Umgebung basiert auf dem Centos 7.8-System zum Erstellen von MySQL-5.7.14 für eine
bestimmte Konstruktion. Weitere Informationen finden Sie unter Aufbau der MySQL-5.7.14-Umgebung

Backup ist das Wichtigste im System. Obwohl sie weniger als 1% des gesamten Planungs-, Entwicklungs- und Testprozesses des Systems ausmachen, kann scheinbar unwichtige und undurchsichtige Arbeit nur dann wirklich reflektiert werden, wenn sie wiederhergestellt wird. Die Bedeutung Dies bedeutet, dass ein Datenverlust und jeder Versuch, die Datenausfallmaschine zu sehen, nicht empfangen werden kann. Eine Datenbanksicherung ist ebenfalls wichtig. Als Nächstes werden wir die MySQL-Datenbankstrategie vorstellen.


1. Datenbanksicherungstyp

Klassifizierung von Backups

1. Hot Backup, Warm Backup, Cold Backup (je nach Serverstatus)

  • Hot Backup: Lesen und Schreiben sind nicht betroffen;
  • Warmes Backup: Es können nur Lesevorgänge ausgeführt werden.
  • Kaltes Backup: Offline-Backup; Lese- und Schreibvorgänge werden abgebrochen.

2. Physische Sicherung und logische Sicherung (vom Objekt getrennt)

  • Physische Sicherung: Kopieren von Datendateien;
  • Logische Sicherung: Exportieren von Daten in eine Textdatei;

3. Vollständige Sicherung, inkrementelle Sicherung, differenzielle Sicherung (getrennt von der Datenerfassung)

  • Vollständige Sicherung: Sichern Sie alle Daten.
  • Inkrementelle Sicherung: Sichern Sie nur die Daten, die sich seit der letzten vollständigen Sicherung oder inkrementellen Sicherung geändert haben.
  • Differenzielle Sicherung: Sichern Sie nur die Daten, die sich seit der letzten vollständigen Sicherung geändert haben

Vergleich der Vor- und Nachteile von Sicherungsstrategien
Fügen Sie hier eine Bildbeschreibung ein

Fügen Sie hier eine Bildbeschreibung ein

Vor- und Nachteile der logischen Sicherung

1. Vorteile der logischen Sicherung:

  • In Bezug auf die Sicherungsgeschwindigkeit hängen die beiden Arten von Sicherungen von unterschiedlichen Speicher-Engines ab
  • Die Wiederherstellungsgeschwindigkeit der physischen Sicherung ist sehr hoch. Die minimale Granularität der physischen Sicherung kann jedoch nur für Tabellen durchgeführt werden
  • Die Struktur der logischen Sicherung ist normalerweise reines ASCII, daher können wir Textverarbeitungswerkzeuge zur Verarbeitung verwenden
  • Die logische Sicherung ist sehr kompatibel, während die physische Sicherung sehr hohe Versionsanforderungen stellt
  • Die logische Sicherung garantiert auch die Sicherheit der Daten

2. Nachteile der logischen Sicherung:

  • Die logische Sicherung übt zusätzlichen Druck auf RDBMS aus, während die reine Sicherung keinen Druck ausübt
  • Das Ergebnis der logischen Sicherung ist möglicherweise größer als die Quelldatei. So viele Leute komprimieren den Inhalt des Backups
  • Bei der logischen Sicherung können die Genauigkeitsinformationen von Gleitkommazahlen verloren gehen

Zweitens der Inhalt der Datenbanksicherung

  • Datei
  • Protokolldateien (wie Transaktionsprotokolle, Binärprotokolle)
  • Gespeicherte Prozeduren, gespeicherte Funktionen, Trigger
  • Konfigurationsdatei (sehr wichtig, jede Konfigurationsdatei muss gesichert werden)
  • Skripte zur Implementierung der Datenbanksicherung, Crontab zur Datenbankbereinigung usw.

3. Kaltes Backup der MySQL-Datenbank

1. Umweltvorbereitung

Zwei MySQL-7.5.14-Server
node01 und node02 basierend auf dem Centos-System

2. Backup-Anforderungen

Voraussetzung: Sichern Sie alle Daten der MySQL-Datenbank von node01 auf dem Datenbankserver von node02 und stellen Sie die Verfügbarkeit der Sicherungsdaten auf dem Server von node02 sicher

3. Sicherungsvorgang

Anzeigen der Node01-Node-Server-Datenbankinformationen

mysql> use db1;
Database changed
mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| fruits        |
+---------------+
1 row in set (0.00 sec)

mysql> select * from fruits;
+------+------+------------+---------+
| f_id | s_id | f_name     | f_price |
+------+------+------------+---------+
| a1   |  101 | apple      |    5.20 |
| a2   |  103 | apricot    |    2.20 |
| b1   |  101 | blackberry |   10.20 |
| b2   |  104 | berry      |    7.60 |
| b5   |  107 | xxxx       |    3.60 |
| bs1  |  102 | orange     |   11.20 |
| bs2  |  105 | melon      |    8.20 |
| c0   |  101 | cherry     |    3.20 |
| l2   |  104 | lemon      |    6.40 |
| m1   |  106 | mango      |   15.60 |
| m2   |  105 | xbabay     |    2.60 |
| m3   |  105 | xxtt       |   11.60 |
| o2   |  103 | coconut    |    9.20 |
| t1   |  102 | banana     |   10.30 |
| t2   |  102 | grape      |    5.30 |
| t4   |  107 | xbababa    |    3.60 |
+------+------+------------+---------+
16 rows in set (0.00 sec)

mysql> 

Knoten01 Knoten, Starten Sie das Packen von Datenbanksicherungsdateien

# 停止mysqld服务
[root@mysql-yum ~]# systemctl stop mysqld
# 打包文件
[root@mysql-yum ~]# cd  /var/lib/mysql
[root@mysql-yum mysql]# ll
total 110660
-rw-r-----. 1 mysql mysql       56 Jan 14 13:38 auto.cnf
-rw-------. 1 mysql mysql     1679 Jan 14 13:38 ca-key.pem
-rw-r--r--. 1 mysql mysql     1074 Jan 14 13:38 ca.pem
-rw-r--r--. 1 mysql mysql     1078 Jan 14 13:38 client-cert.pem
-rw-------. 1 mysql mysql     1679 Jan 14 13:38 client-key.pem
drwxr-x---  2 mysql mysql       56 Jan 16 17:30 db1
-rw-r-----  1 mysql mysql      309 Jan 16 17:34 ib_buffer_pool
-rw-r-----. 1 mysql mysql 12582912 Jan 16 17:34 ibdata1
-rw-r-----. 1 mysql mysql 50331648 Jan 16 17:34 ib_logfile0
-rw-r-----. 1 mysql mysql 50331648 Jan 14 13:38 ib_logfile1
drwxr-x---. 2 mysql mysql     4096 Jan 14 13:38 mysql
drwxr-x---. 2 mysql mysql     8192 Jan 14 13:38 performance_schema
-rw-------. 1 mysql mysql     1679 Jan 14 13:38 private_key.pem
-rw-r--r--. 1 mysql mysql      451 Jan 14 13:38 public_key.pem
-rw-r--r--. 1 mysql mysql     1078 Jan 14 13:38 server-cert.pem
-rw-------. 1 mysql mysql     1675 Jan 14 13:38 server-key.pem
drwxr-x---. 2 mysql mysql     8192 Jan 14 13:38 sys
[root@mysql-yum mysql]# tar czf /opt/mysql_datafile.bak.tar.gz *
[root@mysql-yum mysql]# ll /opt/
total 1348
-rw-r--r-- 1 root root 1378773 Jan 16 17:42 mysql_datafile.bak.tar.gz
# 拷贝文件
[root@mysql-yum mysql]# scp /opt/mysql_datafile.bak.tar.gz 192.168.5.12:/opt/

Knoten02 Knoten startet, Antwortdaten

# 查看备份数据包
[root@mysql-rpm ~]# ll /opt/mysql_datafile.bak.tar.gz 
-rw-r--r-- 1 root root 1378773 Jan 16 17:43 /opt/mysql_datafile.bak.tar.gz
# 停止mysqld服务
[root@mysql-rpm ~]# systemctl stop mysqld
# 删除原有的mysqld服务数据存放目录的文件
[root@mysql-rpm ~]# cd /var/lib/mysql
[root@mysql-rpm mysql]# rm -rf ./*
# 解压备份数据到mysqld服务数据存放目录
[root@mysql-rpm mysql]# tar xf /opt/mysql_datafile.bak.tar.gz -C /var/lib/mysql
[root@mysql-rpm mysql]# ll
total 110660
-rw-r----- 1 mysql mysql       56 Jan 14 13:38 auto.cnf
-rw------- 1 mysql mysql     1679 Jan 14 13:38 ca-key.pem
-rw-r--r-- 1 mysql mysql     1074 Jan 14 13:38 ca.pem
-rw-r--r-- 1 mysql mysql     1078 Jan 14 13:38 client-cert.pem
-rw------- 1 mysql mysql     1679 Jan 14 13:38 client-key.pem
drwxr-x--- 2 mysql mysql       56 Jan 16 17:30 db1
-rw-r----- 1 mysql mysql      309 Jan 16 17:34 ib_buffer_pool
-rw-r----- 1 mysql mysql 12582912 Jan 16 17:34 ibdata1
-rw-r----- 1 mysql mysql 50331648 Jan 16 17:34 ib_logfile0
-rw-r----- 1 mysql mysql 50331648 Jan 14 13:38 ib_logfile1
drwxr-x--- 2 mysql mysql     4096 Jan 14 13:38 mysql
drwxr-x--- 2 mysql mysql     8192 Jan 14 13:38 performance_schema
-rw------- 1 mysql mysql     1679 Jan 14 13:38 private_key.pem
-rw-r--r-- 1 mysql mysql      451 Jan 14 13:38 public_key.pem
-rw-r--r-- 1 mysql mysql     1078 Jan 14 13:38 server-cert.pem
-rw------- 1 mysql mysql     1675 Jan 14 13:38 server-key.pem
drwxr-x--- 2 mysql mysql     8192 Jan 14 13:38 sys
# 启动mysqld服务
[root@mysql-rpm mysql]# systemctl start mysqld
[root@mysql-rpm mysql]# netstat -lnutp | grep mysqld
tcp6       0      0 :::3306                 :::*                    LISTEN      2135/mysqld 

Node02 Backup-Effekt für die Knotenüberprüfung

[root@mysql-rpm mysql]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.14 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db1                |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

mysql> use db1;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| fruits        |
+---------------+
1 row in set (0.00 sec)

mysql> select * from fruits;
+------+------+------------+---------+
| f_id | s_id | f_name     | f_price |
+------+------+------------+---------+
| a1   |  101 | apple      |    5.20 |
| a2   |  103 | apricot    |    2.20 |
| b1   |  101 | blackberry |   10.20 |
| b2   |  104 | berry      |    7.60 |
| b5   |  107 | xxxx       |    3.60 |
| bs1  |  102 | orange     |   11.20 |
| bs2  |  105 | melon      |    8.20 |
| c0   |  101 | cherry     |    3.20 |
| l2   |  104 | lemon      |    6.40 |
| m1   |  106 | mango      |   15.60 |
| m2   |  105 | xbabay     |    2.60 |
| m3   |  105 | xxtt       |   11.60 |
| o2   |  103 | coconut    |    9.20 |
| t1   |  102 | banana     |   10.30 |
| t2   |  102 | grape      |    5.30 |
| t4   |  107 | xbababa    |    3.60 |
+------+------+------------+---------+
16 rows in set (0.00 sec)

mysql> 

Die Datensicherung ist abgeschlossen! ! !

Ich denke du magst

Origin blog.csdn.net/XY0918ZWQ/article/details/112716143
Empfohlen
Rangfolge