Experimento de recuperación y copia de seguridad incremental y completa de copia de seguridad de datos MySQL (teoría)

Experimento de recuperación y copia de seguridad completa e incremental

1. La importancia de la copia de seguridad de la base de datos

在生产的环境中,数据的安全性是至关重要的,任何数据的丢失都可能产生严重的后果。

Causas de la pérdida de datos

程序错误
人为商店
计算机失败
磁盘失败
灾难(如火山、地震)和偷窃

2. Clasificación de la copia de seguridad de la base de datos

1. Desde un punto de vista físico y lógico, la copia de seguridad se puede dividir en:

1.物理备份:对数据库操作系统的物理文件(如数据文件、日志文件等)的备份
  物理备份又可以分为脱机备份(冷备份)、联机备份(热备份)和温备份:
       冷备份:是在关闭数据库的时候进行的
       热备份:数据库处于运行状态,这种备份方法依赖于数据库的日志文件
       温备份:数据库锁定表格(不可写入但可读写)的状态下进行备份操作
2.逻辑备份:对数据库逻辑组件(如表等数据库对象)的备份

2. Desde la perspectiva de la estrategia de copia de seguridad de la base de datos, la copia de seguridad se puede dividir en:

完全备份:每次对数据进行完整的备份
差异备份:备份那些自从上次完全备份之后被修改过的文件
增量备份:只有那些在.上次完全备份或者增量备份后被修改的文件才会被备份
差异与增量相辅相成

Tres. Copia de seguridad completa de MySQL

完全备份是对整个数据库的备份、数据库结构和文件结构的备份
完全备份保存的是备份完成时刻的数据库
完全备份是增量备份的基础

1. Ventajas de la copia de seguridad completa

备份与恢复操作简单方便

2. Desventajas de la copia de seguridad completa

数据存在大量的重复
占用大量的备份空间
备份与恢复时间长

Cuatro. Biblioteca de copia de seguridad mysqldump

1. La copia de seguridad de la base de datos MySQL se puede realizar de muchas formas

直接打包数据库文件夹,如/usr/local/mysql/data
使用专用备份工具mysqldump

2.comando mysqldump

MySQL自带的备份工具,相当方便对MySQL进行备份
通过该命令工具可以将指定的库、表或全部的库导出为SQL脚本,在需要恢复时可进行数据恢复

El comando mysqldump realiza una copia de seguridad completa de una sola biblioteca

mysqldump -u用户名-p  [密码] [选项] [数据库名] > /备份路径/备份文件名

El comando mysqldump realiza una copia de seguridad completa de varias bibliotecas

mysqldump -u 用户名 -p [密码] [选项] --databases 库名1 [库名2]... >/备份路径/备份文件名

Copia de seguridad completa de todas las bibliotecas

mysqldump -u用户名-p [密码] [选项] --all-databases > /备份路径/备份文件名

3. tabla de respaldo de mysqldump

在实际生产环境中,存在对某个特定表的维护操作,此时mysqldump同样发挥重大作用

Use mysqldump para respaldar las operaciones de la tabla

mysqldump -u 用户名 -p [密码] [选项] 数据库名 表名 > /备份路径/备份文件名

Use mysqldump para respaldar las operaciones de estructura de la tabla

mysqldump -u 用户名 -p [密码] [选项] -d 数据库名 表名 > /备份路径/备份文件名

Cinco. Restaurar la base de datos

1. El script de copia de seguridad SQL exportado con el comando mysqldump se puede importar utilizando los siguientes métodos al recuperar datos

source命令 数据库模式中运行
mysq|命令 Linux模式中运行

2. Pasos para restaurar la base de datos utilizando la fuente

登录到MySQL数据库
执行source备份sq|脚本的路径(绝对路径)

3.Ejemplo de recuperación de fuente

MySQL [(none)] > source /backup/all-data.sql

4. Utilice el comando mysq | para restaurar los datos

mysql -u用户名-p [密码] <库备份脚本的路径

Sexto. Funcionamiento de la mesa de recuperación

1.恢复表时同样可以使用source或者mysql命令进行
2.source恢复表的操作与恢复库的操作相同
3.当备份文件中只包含表的备份,而不包括创建库的语句时,必须指定库名,且目标库必须存在
mysql -u用户名-p [密码] < 表备份脚本的路径

mysql -u root -p mysql < /backup/mysql-user.sql

4.在生产环境中,可以使用shell脚本自动实现定期备份

Siete ideas de copia de seguridad de MySQL

1. Implementar copias de seguridad con regularidad, formular planes o estrategias de copia de seguridad y cumplirlas estrictamente.

2. Además de realizar una copia de seguridad completa, es importante activar la función de registro del servidor MySQL

完全备份加上日志,可以对MySQL进行最大化还原
MySQL-bin:MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句((除了   数据查询语句)信息。可以使用mysqlbin命令查看二进制日志的内容

3. Utilice un nombre de archivo de copia de seguridad uniforme y fácil de entender

不要使用backup1、backup2等这样没有意义的名字
推荐使用库名或者表名加上时间的命名规则

8. Copia de seguridad incremental de MySQL

1. Problemas con el uso de mysqldump para una copia de seguridad completa

备份数据中有重复数据
备份时间与恢复时间长

2. La copia de seguridad incremental consiste en realizar una copia de seguridad de archivos o contenido que se han agregado o cambiado desde la última copia

3. Características de la copia de seguridad incremental

没有重复数据,备份量不大,时间短
恢复麻烦:需要上次完全备份及完全备份之后所有的增量备份才能恢复,而且要对所有 增量备份进行逐个反推恢复

4. MySQL no proporciona un método de copia de seguridad incremental directo

可以通过MySQL提供的二进制日志(binary logs)间接实现增量备份

5. El significado del registro binario de MySQL para la copia de seguridad

1.二进制日志保存了所有更新或者可能更新数据库的操作
2.二进制日志在启动MySQL服务器后开始记录,并在文件达到max_ binlog_size所设置的大小或者接收到flush logs命令后重新创建新的日志文件
3.只需定时执行flush logs方法重新创建新的日志,生成二进制文件序列,并及时把这些旧的日志保存到安全的地方就完成了一个时间段的增量备份

Nine. Recuperación incremental de la base de datos MySQL

1. Recuperación general:

添加数据—进行完全备份—录入新的数据—进行增量备份—模拟故障—恢复操作

método

mysqlbinlog [--no-defaults]增量备份文件 | mysql -u用户名 -p

2. Recuperación basada en la ubicación

就是将某个起始时间的二进制日志导入数据库中,从而跳过某个发生错误的时间点实现数据的恢复

método

恢复数据到指定位置
mysqlbinlog --stop-position=操作'id' 1进制日志 | mysql -u用户名 -p 密码

3. Basado en la recuperación en un momento determinado

使用基于时间点的恢复,可能会出现在一个时间点里既同时存在正确的操作又存在错误的操作,所以我们需要一种更为精确的恢复方式

método

1.从日志开头截止到某个时间点的恢复
mysqlbinlog [--no-defaults] --stop-datetime='年-月-日 小时:分钟:秒'二进制日志 | mysql -u用户名 -p 密码

2.从某个时间点到日志结尾的恢复
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小时:分钟:秒'二进制日志 | mysql -u用户名 -p 密码

3.从某个时间点到某个时间点的恢复
mysqlbinlog [--no defaults] --start-datetime='年-月-日 小时:分钟:秒' --stop-datetime='年-月-日 小时:分钟:秒'二进制日志 | mysql -u用户名 -p 密码

Nueve. Ver el archivo de registro binario (decodificación)

mysqlbinlog --no-defaults --base64-output=decode-rows -V mysql-bin.000002 > /opt/ bak. txt

Supongo que te gusta

Origin blog.csdn.net/weixin_45647891/article/details/111639517
Recomendado
Clasificación