Combate de caso MySQL - backup frio do banco de dados MySQL

Prefácio

Este ambiente é baseado no sistema Centos 7.8 para construir o MySQL-5.7.14 para
construção específica, consulte a construção do ambiente MySQL-5.7.14

O backup é a coisa mais importante a se considerar no sistema. Embora representem menos de 1% de todo o processo de planejamento, desenvolvimento e teste do sistema, trabalhos aparentemente sem importância e obscuros só podem ser realmente refletidos quando são restaurados. A importância disso é que qualquer perda de dados e qualquer tentativa de ver os dados inativos da máquina não podem ser recebidos. O backup do banco de dados também é importante.A seguir, apresentaremos a estratégia de banco de dados MySQL.


1. Tipo de backup de banco de dados

Classificação de backups

1. Backup quente, backup quente, backup frio (de acordo com o status do servidor)

  • Backup ativo: leitura e gravação não são afetadas;
  • Backup morno: apenas operações de leitura podem ser realizadas;
  • Backup frio: backup offline; operações de leitura e gravação são canceladas;

2. Backup físico e backup lógico (dividido do objeto)

  • Backup físico: copie arquivos de dados;
  • Backup lógico: exporte dados para um arquivo de texto;

3. Backup completo, backup incremental, backup diferencial (dividido da coleta de dados)

  • Backup completo: faça backup de todos os dados;
  • Backup incremental: faça backup apenas dos dados que foram alterados desde o último backup completo ou backup incremental;
  • Backup diferencial: faça backup apenas dos dados que foram alterados desde o último backup completo

Comparação de vantagens e desvantagens de estratégias de backup
Insira a descrição da imagem aqui

Insira a descrição da imagem aqui

Vantagens e desvantagens do backup lógico

1. Vantagens do backup lógico:

  • Em termos de velocidade de backup, os dois tipos de backups dependem de diferentes mecanismos de armazenamento
  • A velocidade de restauração do backup físico é muito rápida. Mas a granularidade mínima do backup físico só pode ser feita para tabelas
  • A estrutura do backup lógico é geralmente ASCII puro, então podemos usar ferramentas de processamento de texto para processar
  • O backup lógico tem compatibilidade muito forte, enquanto o backup físico tem requisitos de versão muito altos
  • O backup lógico também garante a segurança dos dados

2. Desvantagens do backup lógico:

  • O backup lógico coloca pressão extra no RDBMS, enquanto o backup simples não tem pressão
  • O resultado do backup lógico pode ser maior do que o arquivo de origem. Muitas pessoas compactam o conteúdo do backup
  • O backup lógico pode perder as informações de precisão dos números de ponto flutuante

Em segundo lugar, o conteúdo do backup do banco de dados

  • arquivos de dados
  • Arquivos de log (como logs de transações, logs binários)
  • Procedimentos armazenados, funções armazenadas, gatilhos
  • Arquivo de configuração (muito importante, cada arquivo de configuração deve ter backup)
  • Scripts usados ​​para implementar backup de banco de dados, Crontab para limpeza de banco de dados, etc ...

3. Backup frio do banco de dados MySQL

1. Preparação ambiental

Dois servidores MySQL-7.5.14
node01 e node02 baseados no sistema Centos

2. Requisitos de backup

Requisito: Faça backup de todos os dados do banco de dados MySQL de node01 para o servidor de banco de dados de node02 e garanta a disponibilidade dos dados de backup no servidor de node02

3. Processo de backup

Exibir informações do banco de dados do servidor node01

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> 

nó node01, comece a empacotar os arquivos de backup do banco de dados

# 停止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/

node02 nó inicia, dados de resposta

# 查看备份数据包
[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 

efeito de backup de verificação de nó node02

[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> 

O backup de dados está completo! ! !

Acho que você gosta

Origin blog.csdn.net/XY0918ZWQ/article/details/112716143
Recomendado
Clasificación