MYSQL的备份与恢复--逻辑备份

时间:2019-11-27
本文章向大家介绍MYSQL的备份与恢复--逻辑备份,主要包括MYSQL的备份与恢复--逻辑备份使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

我叫张贺,贪财好色。一名合格的LINUX运维工程师,专注于LINUX的学习和研究,曾负责某中型企业的网站运维工作,爱好佛学和跑步。
个人博客:传送阵
笔者微信:zhanghe15069028807


0、备份与恢复概述


数据库要备份的内容:

  • dababase数据文件
  • binlog日志文件
  • my.cnf配置文件

注:
1、所有的数据库备份文件都应当放在非数据库本地,而且建议备份多份。
2、仅备份没啥用,我们备份的目的是为了恢复,能够正常恢复才是最终目标,所以要经常进行恢复的演练,通常,恢复演练也是运维工作者的日常工作之一。

数据备份要考虑的因素:

  • 数据的一致性
  • 服务的可用性

数据库的备份模式:

  • 完全备份
  • 增量备份:在上一次备份的基础上,仅备份有变化的部分。
  • 差异备份:在完全备份的基础上,仅备份有变化的部分。

逻辑备份与物理备份的区别:

  • 逻辑备份:备份的是SQL语句,效率较低,用于中小型企业。
  • 物理备份:备份的具体的数据,效率较高,用于大型企业。

1、逻辑备份-完整备份与恢复


mysql自带逻辑备份工具mysqldump,可以保证数据的一致性和服务的可用性。

>mysqldump -h 服务器 -u 用户名  -p 密码 数据库名 > 备份文件.sql
//常用参数
-A,--all-databases  #备份所有库
-B,--databases      #备份多个库
--single-transaction #保证数据的一致性和服务的可用性
--master-data=1|2    #通常等于1,记录binlog日志位置与文件名,追加至备份文件中
-F,--flush-logs     #备份之前刷新日志
-E,--events         #备份事件调度器代码
--triggers           #备份触发器
-R,--routines       #备份存储过程和存储函数

注:无论是逻辑备份还是物理备份,都要提前开启二进制日志。

2、逻辑备份-增量备份与恢复

1、使用mysqldump完整备份

//本地备份
[root@mysql01 ~]# mysqldump -uroot -pcba-123 
--all-databases 
--single-transaction 
--master-data=1 
--flush-logs > /backup/mysql/$(date +%F%H)-mysql-all.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.

2、查看binlog日志

[root@mysql01 mysql]# sed -n '22p' /backup/mysql/2019-11-2714-mysql-all.sql 
CHANGE MASTER TO MASTER_LOG_FILE='sql_70_161.000002', MASTER_LOG_POS=154;

数据库完整恢复流程(二进制日志)

原文地址:https://www.cnblogs.com/yizhangheka/p/11939942.html