mysqldump 和 基于快照的备份

mysqldump 和 基于快照的备份

Table of Contents

  • mysqldump: 仅适用于数据集较小
  • lvm-snapshot: 基于 LVM 快照的备份
  • 相关阅读

mysqldump: 仅适用于数据集较小

mysqldump DB_NAME [tbname1] [tbname2]

# mysqldump -uroot -pYOUR_PASSWORD DB_NAME > test.sql
mysql> create database test2;
mysqldump -uroot -pYOUR_PASSWORD test2 < test.sql

备份所有的库

mysqldump --all-databases > test.sql

备份指定的多个库

--databases tb1 tb2 .....

恢复

mysql < test.mysql
mysql database_name < test.sql

备份前要加锁

mysqldump --lock-all-tables: 请求锁定所有表之后在备份, 对 MyISAM, InnoDB, Aria 做温备
mysqldump --lock-tables tables_name [table1] [table2]

如果是 innodb

mysqldump --single-transaction: 能够对 InnoDB 存储引擎实现热备, 这时候就不用 lock-all-tables

备份代码

--events: 备份事件调度器代码
--routines: 备份存储过程和存储函数
--triggers: 备份触发器

备份时滚动日志:

--flush-logs: 备份前, 请求到锁之后滚动日志

复制时的同步位置标记

--master-data={0|1|2}
0 表示不记录 (默认)
1 表示记录为 change master 语句
2 表示记录为注释的 change master 语句

dump a master replication server to produce a dump file that
can be used to set up another server as a slave of the master.
It causes the dump output to include a CHANGE MASTER TO
statement that indicates the binary log coordinates
(file name and position) of the dumped server. These are the
master server coordinates from which the slave should start
replicating after you load the dump file into the slave

使用 mysqldump 备份
请求锁: –lock-all-tables 或使用–single-transaction 进行 innodb 热备
滚动日志: –flush-logs
选定要备份的库 –databases
记录二进制文件及位置 –master-data

手动请求全局锁

> flush tables with read lock
> flush logs; (shell 下: mysqladmin flush-logs)
> unlock tables

恢复:
建议: 关闭二进制日志, 关闭其他用户的写操作 set sql_bin_log = 0;
应该用 source test.sql

备份策略: 基于 mysqldump
备份:
mysqldump+二进制日志文件
周日做一次完全备份, 备份的同时滚动日志
周一至周六: 备份二进制日志

恢复: 完全备份+各二进制文件至此刻的事件
对于 MySQL 配置文件, 以及与 MySQL 相关的 OS 配置文件在每次修改后都应该直接进行备份

lvm-snapshot: 基于 LVM 快照的备份

  1. 事务日志跟数据文件必须在同一个卷上 (还要注意没 commit 的事务)
  2. 创建快照卷之前, 要请求 mysql 的全局锁
  3. 在请求全局锁完成之后, 做一次日志滚动;做二进制日志文件及位置标记 (手动进行)
  4. 释放锁

步骤:

  1. 请求全局锁, 并滚动日志
    flush tables with read lock;
    flush logs;
  2. 做二进制日志文件及位置标记 (手动进行)
    mysql -e ‘show master status‘ > /path/to/somefile (之后在 slave 机器上执行对应的相应的操作)
  3. 创建快照卷
    lvcreate -L SIZE -s -n data_back -p r /dev/data/mysqldata
  4. 释放全局锁
    unlock tables
  5. 挂载快照并备份
    cp
  6. 备份完成之后, 删除快照卷
    lvremove

相关阅读

时间: 2024-10-11 15:24:21

mysqldump 和 基于快照的备份的相关文章

MySQL备份与恢复常用方法总结(mysqldump/xtrabackup/lvm快照备份/二进制日志及时点恢复)

MySQL备份与恢复常用方法总结 (mysqldump/xtrabackup/lvm快照备份/逻辑备份与恢复/二进制日志及时点恢复) 自言:学习在于总结,把所了解的类似东西放到一起更能加深记忆 一.了解备份相关知识 1)按服务器备份时状态可分为:     热备份:读.写不受影响:     温备份:仅可以执行读操作:     冷备份:离线备份:读.写操作均中止:2)按服务器备份数据集可分为:     物理备份:复制数据文件:     逻辑备份:将数据导出至文本文件中:3)按服务器备份数据量可分为:

Linux-6.5下 MariaDB-10基于LVM快照的备份数据 详解

理解部分: LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性.LVM可以对分区在线扩容,快照,镜像和条带化,功能非常强大.这篇文章的主题就是其中一个功能--快照. 快照(Snapshot)就是关于指定数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点(拷贝开始的时间点)的映像.快照可以是其所表示的数据的一个副本,也可以是数据的一个复制品: 其实

lvm-snapshot:基于LVM快照的备份之准备工作

选择lvm逻辑卷存储数据库数据目录的2大理由 (1) 一般来说,我们会将数据库的数据目录放在lvm逻辑卷上,因为数据库的数据增长速度可能会超出我们的预期 ,这样在将来即便是数据增长很快,我们也不必担心,因为lvm可以实现在线扩容 (2) 我们可以对数据目录做基于lvm快照的备份 1.创建用于存储数据目录lvm设备 1.1 创建一个新分区,并修改分区类型 # echo -e 'n\np\n1\n\n+10G\nw\n'|fdisk /dev/sdb # echo -e 't\n8e\np\nw\n

lvm-snapshot:基于LVM快照的备份

续 lvm-snapshot:基于LVM快照的备份之准备工作 Attention,Please! 重头戏开始啦 3.基于LVM快照的备份 (1)事务日志跟数据文件必须在同一个卷上: (2)创建快照卷之前,要请求MySQL的全局锁:在快照创建完成之后释放锁: (3)请求全局锁完成之后,做一次日志滚动:做二进制日志文件及位置标记(手动进行): 备份步骤: 3.1 请求全局锁,并滚动日志 MariaDB [hellodb]> FLUSH TABLES WITH READ LOCK; MariaDB [

基于mysqldump实现数据库的逻辑备份

 基于mysqldump实现数据库的逻辑备份 [备份类型] 根据备份时,数据库服务器是否在线: 冷备份:cold backup,服务器要离线,意味着我们的读写操作都不可以进行了,但是服务器离线比较困难. 温备份:warm backup,全局施加共享锁,只可读,不可写的备份叫温备份 热备份:hot backup,数据库不离线,读写操作都可以进行,通常是基于事务的存储引擎才能够完成的 根据备份时的数据集进行分类: 完全备份:full backup:指备份整个库,当下数据集的整个库的数据 部分备份:p

[深入理解文件系统之十三] 基于快照的文件系统备份

在实际生产系统上存储的数据,都是基于某种文件系统的形式组织.存放起来的.对一些关键的数据,就需要备份.通常,有两种方式: 1.基于Linux/unix下的tar/cpio等工具 虽然它也能实现备份,但不足之处在于有IO写入的情况下,可能无法保证文件系统的integrity (完整性). 2. frozen-image 虽然备份的时候停下业务.卸载 文件系统就可以了,但是系统管理员一般不愿意停下业务.或者卸载文件系统,因此stable snapshot技术出现了.(snapshot/frozen-

HDFS的快照原理和Hbase基于快照的表修复

前一篇文章<HDFS和Hbase误删数据恢复>主要讲了hdfs的回收站机制和Hbase的删除策略.根据hbase的删除策略进行hbase的数据表恢复.本文主要介绍了hdfs的快照原理和根据快照进行的数据恢复. 1.Hdfs的快照原理 1.1 快照原理 Hdfs的快照(snapshot)是在某一时间点对指定文件系统拷贝,快照采用只读模式,可以对重要数据进行恢复.防止用户错误性的操作. 快照分两种:一种是建立文件系统的索引,每次更新文件不会真正的改变文件,而是新开辟一个空间用来保存更改的文件,一种

快照方式备份MySQL数据库及举例

快照方式备份MySQL数据库及举例 作者: 红豆殺 日期: 2011 年 03 月 17 日发表评论7条评论查看评论 一.创建逻辑卷 依照如下连接的文档创建一个逻辑卷 http://www.178-go.com/tags/lvm 要求:物理卷20G;卷组名为vg0;逻辑卷2G,逻辑卷名为mydata 创建逻辑卷挂载点,并挂载之 # mkdir /mydata # mount /dev/vgo/mydata /mydata 二.安装MySQL数据库 如果机器已装有mysql,则此步可省略 只需修改

xenserver snapshot backup根据快照名备份

11==----------------根据快照名备份----------------------#!/bin/shbackup_date=`date +%Y-%m-%d`echo backup_date: $backup_date########更改此处快照名##########snap_name=2016-06-06########更改备份目录#########snap_path_name=/root/zentao_backup snapshot_uuid=`xe snapshot-list