MYSQLBACKUP工具的使用

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 概述: 前面有介绍过MYSQLBACKUP工具的安装(http://blog.itpub.net/12679300/viewspace-1262774/),今天继续和大家分享下MYSQLBACKUP工具的简单实用; MYSQL备份的...
  1. 概述:

    前面有介绍过MYSQLBACKUP工具的安装(http://blog.itpub.net/12679300/viewspace-1262774/),今天继续和大家分享下MYSQLBACKUP工具的简单实用;

     

  2. MYSQL备份的相关概念

    数据库的备份相关的概念中最常见的是备份的方式和备份的文件类比,MYSQL总结如下:

    备份的类型:完全备份和增量备份;

    备份的文件:备份文件和镜像拷贝

    Apply-log:数据库在备份是个过程,所有的数据在不同时间点被备份,如果这个时候数据库还有写的操作,那么数据库的备份是不一致的;apply-log会记录整个过程中的相关log;在进行恢复的时候会把已经提交的事务写入数据文件,把没有提交的事务进行回滚。

    增量备份apply-incremental-backup 不会对redo log 中没有提交的事务进行回滚,可能下次增量备份事务已经提交了。

    这个apply-log过程你可以在任何机器上运行,没有强制在线上或者备份库上运行,你可以把备份复制到闲置的服务器上去运行apply-log,以此来降低备份库的压力,不过,你必须保证backup和apply-log所使用的mysqlbackup的版本要一致

     

  3. 参数说明

输入mysqlbackup --help,可以看到所有参数的说明,总结如下:

备份操作: backup, backup-and-apply-log, backup-to-image

备份校验操作: apply-log, apply-incremental-backup

恢复操作: copy-back, copy-back-and-apply-log

单文件备份操作: image-to-backup-dir, backup-dir-to-image, list-image,extract, validate

指定全备目录:–backup-dir

指定增量备份目录:–incremental-backup-dir

指定备份类型:–incremental

指定本次增量备份基于上次全备或者增量备份目录:–incremental-base

指定本次增量备份基于上次全备或者增量备份的LSN 号:–start-lsn

基于时间戳的备份目录:–with-timestamp

指定压缩备份:–compress

指定解压缩:–uncompress

 

  1. 数据库备份的操作

    例一:基于全备目录进行全备

mysqlbackup --user=root --password --backup-dir=/backup backup-and-apply-log

  • 备份目录/backup
  • 备份的方式:backup
  • 备份的类型:数据库全备并包括apply-log

这是简单的数据库的全备,可以在这个脚本增加相应的参数,实现各种业务功能。

 

--with-timestamp:根据时间产生一个备份文件

脚本:mysqlbackup --user=root --password --with-timestamp --backup-dir=/backup backup-and-apply-log

--compress:压缩备份

脚本:mysqlbackup --user=root --password --with-timestamp --backup-dir=/backup --compress backup

 

例二:增量备份

mysqlbackup --user=root --password --incremental --incremental-base=dir:/backup/2014-11-12_09-26-27 --incremental-backup-dir=/backup/2014-11-12_09-26-27/thursday backup

压缩了77.06%,效率很高;

  • --incremental:代表增量备份;
  • --incremental-base:上次全备的目录;
  • --incremental-backup-dir:增量备份的保存的目录

 

  1. 数据库的还原操作

    需要在数据库处于关闭的状态下恢复!

    1. 恢复一个全备MySQL 实例

mysqlbackup --defaults-file=/backup/2014-11-12_09-26-27server-my.cnf --datadir=/data/mysql --backup-dir=/backup/2014-11-12_09-26-27 copy-back

 

总结:以上的操作纯属简单的数据库备份恢复的了解,实际生产系统的备份不是简单的这么一条语句就搞定的,需要考虑到几个问题:什么系统、故障时需要多长时间恢复、允许丢失的数据量、数据库的大小、日志产生的频率、备份空间的大小等等。。。。。。

 

*********************************************************************************************************************

本文作者:JOHN QQ:1916066696 (请备注数据库)

ORACLE技术博客:ORACLE 猎人笔记 http://blog.itpub.net/12679300/

请扫描加微信号!

********************************************************************************************************************

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
SQL 监控 算法
MySQL高可用 MGR8.0 最佳实践——张彦东
MySQL高可用 MGR8.0 最佳实践——张彦东
4758 38
MySQL高可用 MGR8.0 最佳实践——张彦东
|
SQL 存储 关系型数据库
解析MySQL Binlog:从零开始的入门指南【binlog入门指南】
解析MySQL Binlog:从零开始的入门指南【binlog入门指南】
13171 0
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
255252 0
|
8月前
|
弹性计算 关系型数据库 分布式数据库
PolarDB 开源基础教程系列 3 安装部署
PolarDB 安装部署指南涵盖了从单机版到集群版的详细步骤。内容包括: 1. **单机版安装**:通过Docker镜像`polardb_pg_local_instance`,提供快速搭建PolarDB学习或开发环境的方法,支持多种操作系统。 2. **集群版安装(ECS + ESSD)**:在阿里云ECS上部署两台计算节点,并使用ESSD作为共享存储,通过PFS(PolarDB File System)实现存算分离和读写分离的集群架构。
1311 3
|
11月前
|
存储 关系型数据库 MySQL
mysql8.0中的mysql.ibd
`mysql.ibd`文件在MySQL 8.0中扮演着重要角色,负责存储InnoDB表的数据和索引。通过了解其结构和管理方法,可以有效维护数据库的性能和数据完整性。希望本文对 `mysql.ibd`文件的深入解析能帮助您更好地理解和管理MySQL数据库。
693 1
|
关系型数据库 MySQL Linux
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
在Linux系统中使用tar.xz压缩包安装MySQL数据库的详细步骤。包括下载MySQL压缩包,解压到指定目录,创建mysql用户和组,设置目录权限,初始化MySQL,配置my.cnf文件,启动服务,以及修改root用户密码。此外,还提供了如何设置Windows远程登录MySQL服务器的方法。
Linux 安装 mysql 【使用 tar.gz | tar.xz安装包-离线安装】
|
监控 关系型数据库 MySQL
MySQL如何快速获取binlog的开始时间和结束时间
【8月更文挑战第17天】在MySQL中快速获取binlog的开始与结束时间可通过多种途径:1) 使用`mysqlbinlog`结合`head`和`tail`命令查看单个或多个binlog文件的时间范围;2) 查询`information_schema.binlog_events`表获取近似的开始与结束时间戳;3) 利用第三方工具如Percona Toolkit的`pt-mysql-summary`获取binlog信息。选择适当方法前应考虑操作环境及数据安全性。
1085 2
|
SQL 监控 关系型数据库
解密MySQL二进制日志:深度探究mysqlbinlog工具
解密MySQL二进制日志:深度探究mysqlbinlog工具
1886 3