ToB企服应用市场:ToB评测及商务社交产业平台

标题: C05S13-MySQL数据库备份与恢复 [打印本页]

作者: 立山    时间: 3 天前
标题: C05S13-MySQL数据库备份与恢复
一、MySQL数据备份

1. 数据备份概述

数据备份的主要目的是灾难恢复,也就是当数据库等出现故障导致数据丢失,能够通过备份恢复数据。
数据备份可以分为物理备份和逻辑备份。物理备份,又称为冷备份,需要关闭数据库进行备份;逻辑备份,又称为热备份,不需要关闭数据库。数据备份的策略包括全量备份和增量备份,物理备份只能实现全量备份,而逻辑备份不仅支持全量备份,还支持增量备份。
2. mysqldump命令 – MySQL数据库备份

mysqldump命令是MySQL数据库中备份工具,用于将MySQL服务器中的数据库以尺度的sql语言的方式导出,并保存到文件中。是针对数据库和数据表的备份。
  1. # 基本语法
  2. mysqldump [选项]
  3. # 常见用法
  4. mysqldump -u 用户名 -p [密码] 库名 [表名] > 保存文件
复制代码

常见的选项:
选项功能-A所有数据库-B指定数据库 3. 二进制日记备份

MySQL的二进制日记记录了对数据库的更改操纵,也就是增、删、改、查等操纵,查询操纵不会被记录,因此可以通过二进制日记来实现数据的备份。
要实现基于二进制日记的数据备份,需要在MySQL的设置文件my.cnf中开启二进制日记功能。MySQL 8.0版本开始,默认开启二进制文件功能,二进制日记文件的默认前缀是binlog。下面是在my.cnf文件中的基本设置内容:
  1. log-bin=mysql-bin
  2. binlog-format=MIXED
复制代码

MySQL二进制日记文件的记录格式:

开启后,只要实行的更改操纵都会被记录在日记文件中。使用MySQL自带的mysqlbinlog命令,可以解析查看二进制日记文件,联合管道符和重定向符就能够实现数据的恢复。根据二进制日记恢复数据,现实上就是重新实行日记文件中所记录的操纵语句。
可以通过mysqlbinlog命令查看日记文件的全文,也可以基于位置大概基于时间查看日记文件的部分内容。因此恢复数据也包括全部恢复、基于位置的断点恢复和基于时间的断点恢复。
MySQL二进制日记文件的主要内容格式如下:
  1. BEGIN
  2. /*!*/;
  3. # at 593
  4. #241220 15:53:46 server id 1  end_log_pos 717 CRC32 0x8673bc7c  Query   thread_id=8     exec_time=0     error_code=0
  5. SET TIMESTAMP=1734681226/*!*/;
  6. insert into student values(1,'小明',18,'男')
  7. /*!*/;
  8. # at 717
  9. #241220 15:53:46 server id 1  end_log_pos 748 CRC32 0x551b5137  Xid = 25
  10. COMMIT/*!*/;
复制代码

4. mysqlbinlog命令 – 查看二进制日记文件

使用mysqlbinlog命令可以查看二进制日记文件。
  1. mysqlbinlog [选项] 二进制日志文件
复制代码
常见的选项:
选项功能–no-defaults不读取默认的设置文件,以免查看结果受到干扰–start-position起始位置–stop-position终止位置–start-datetime起始时间–stop-datetime终止时间 5. 二进制日记文件

二、数据备份与恢复实操

1. 全量备份与恢复

2. 增量备份与恢复

三、MySQL常见的日记文件

1. 二进制日记

二进制日记主要记录除SELECT等查询语句外所实行的操纵语句,从MySQL 8.0版本开始,二进制日记文件是默认开启的,可以不用手动设置。默认的二进制日记文件位于MySQL的数据目录下,前缀为binlog。
下面是在my.cnf中显式开启二进制日记文件的参数基本格式。
  1. # 如果不指定路径只指定前缀,就依然保存在MySQL的数据目录下
  2. log_bin=文件路径/前缀
  3. binlog-format=文件的记录格式
复制代码
2. 错误日记

错误日记主要包括MySQL服务的启动、关闭和报错。与二进制日记文件雷同,错误日记也是默认开启的,默认的错误日记文件位于MySQL的数据目录下,名称是主机名.err。
下面是显示开启错误日记文件的参数基本格式。
  1. log_error=文件路径
复制代码
3. 普通日记

普通日记记录MySQL运行时所有的实行的SQL语句,可以根据文件进行MySQL的排错和调试。普通日记默认不开启。
下面是显示开启普通日记文件的参数基本格式。
  1. general_log=1 # 1表示开启,0表示不开启
  2. general_log_file=文件路径
复制代码
4. 慢日记

慢日记用于记录MySQL中实行较慢的语句,默认不开启。
下面是显示开启慢日记文件的参数基本格式。
  1. slow_query_log=1 # 1表示开启,0表示不开启
  2. slow_query_log_file=文件路径    #慢日志路径
  3. 数基本格式。```shellgeneral_log=1 # 1表示开启,0表示不开启
  4. general_log_file=文件路径
复制代码
4. 慢日记

慢日记用于记录MySQL中实行较慢的语句,默认不开启。
下面是显示开启慢日记文件的参数基本格式。
  1. slow_query_log=1 # 1表示开启,0表示不开启
  2. slow_query_log_file=文件路径    #慢日志路径
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4