[Práctica de operación y mantenimiento] TIDB v6.1.1: análisis de métodos de copia de seguridad completa, recuperación completa y copia de seguridad incremental

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

Antecedentes : debido a los requisitos de la empresa, se debe garantizar la seguridad de los datos de la base de datos. La base de datos en nuestro entorno de producción adopta el método de copia de seguridad completa + copia de seguridad incremental + sincronización en tiempo real de la base de datos para garantizar una alta disponibilidad de la base de datos. Este artículo Presenta el método de copia de seguridad de la base de datos del entorno de producción de nuestra empresa.

Nota: Utilizamos la sincronización de datos en tiempo real con la base de datos esclava para garantizar una alta disponibilidad (usando bomba + drenaje). También admitimos la operación de recuperación de datos en cualquier momento para evitar la eliminación accidental de datos, que se presentará en otro artículo. . La bomba genera registros binlog y el drenaje se sincroniza con los datos posteriores.

**Nota: **Esta operación práctica utiliza la herramienta BR de Tidb y los componentes de bomba + drenaje para lograr una copia de seguridad completa, recuperación y copia de seguridad incremental de la base de datos (la copia de seguridad se guarda como un archivo). La siguiente es la operación real:

1. Instale Tidb . Este servicio se utiliza como máquina de destino para la recuperación de datos (se utiliza para recuperar datos. Para ahorrar recursos, instale el nodo único de Tidb). Los pasos de instalación son los siguientes:

1. Instale la herramienta Tiup

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

2. Establecer variables de entorno

source .bash_profile

3. Instalar componentes

tiup cluster

4. Escriba el archivo de configuración del clúster 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. Comprueba los riesgos


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

6. Riesgos de reparación


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

7. Implementar el clúster

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

8. Inicialice el clúster

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

9. Se completa la implementación. Verifique la información del clúster de la siguiente manera. No hay datos comerciales en la base de datos.

1695624366899.jpg

2. Agregue nodos de bomba al clúster original de TIDB

1. Vea la información del clúster original de la siguiente manera1695622829208.jpg

2. Edite el archivo de extensión. /data/pump-qzn.yaml es el archivo de configuración que necesita ampliarse. Pump genera un archivo binario. Drainer guarda el binlog en un archivo. El contenido específico es el siguiente:

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. Expandir el clúster

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

imagen.png

4. Después de agregar nodos de bomba, verifique el estado del clúster

El clúster tiup muestra el nombre del clúster y comprueba que cada nodo está activo.

imagen.png

5. Habilite la configuración de binglog de 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";

imagen.png

6. Inicie sesión en la base de datos de origen, cree la base de datos qzn_test y la información de la tabla, e inserte una fila de datos en la tabla.

1695623346194.jpg

3. Datos de copia de seguridad del clúster original de Tidb (aquí solo se muestra la copia de seguridad de una única base de datos, consulte la documentación oficial para la copia de seguridad y recuperación de br) Descargue la herramienta de copia de seguridad de BR. La carpeta de copia de seguridad requiere permisos 777. La página de descarga es 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

imagen.png

4. Copia de seguridad de recuperación de datos de la base de datos de destino de Tidb (copie el archivo de copia de seguridad al servidor de la base de datos de destino)

Implemente la herramienta br en el servidor 139

#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

imagen.png

5. Vea la base de datos de destino (139), la recuperación de datos se ha completado

imagen.png

6. Verifique el servidor de la base de datos 140. Se ha generado el archivo binlog. Este archivo es un archivo de copia de seguridad incremental. En el proceso de copia de seguridad real, la base de datos se respalda mediante una copia de seguridad Br diaria + copia de seguridad incremental.

imagen.png

imagen.png

Lo anterior completa las operaciones básicas de copia de seguridad y recuperación de la base de datos. Tenga en cuenta que si el clúster de producción tiene varios nodos tikv, debe colgar en el disco compartido durante la copia de seguridad para que todos los datos de la copia de seguridad de tikv se puedan escribir en el disco compartido.

El autor del marco de código abierto NanUI pasó a vender acero y el proyecto fue suspendido. La primera lista gratuita en la App Store de Apple es el software pornográfico TypeScript. Acaba de hacerse popular, ¿por qué los grandes empiezan a abandonarlo? Lista de octubre de TIOBE: Java tiene la mayor caída, C# se acerca Java Rust 1.73.0 lanzado Un hombre fue alentado por su novia AI a asesinar a la Reina de Inglaterra y fue sentenciado a nueve años de prisión Qt 6.6 publicado oficialmente Reuters: RISC-V La tecnología se convierte en la clave de la guerra tecnológica entre China y Estados Unidos. Nuevo campo de batalla RISC-V: no controlado por ninguna empresa o país, Lenovo planea lanzar una PC con Android.
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/5674736/blog/10115090
Recomendado
Clasificación