1.备份的种类

  1. 完全备份,就是备份整个数据库对象
  2. 事务日志备份, 备份事务日志记录上一次的数据库改变
  3. 增量备份,也叫差异备份
  4. 文件备份

2.备份方式

  1. 逻辑备份, 既备份sql语句,使用mysql自带的mysqldump工具进行备份。备份成sql文件形式
  2. 物理备份, 备份数据库文件

两种备份方式的比较:参考MYSQL自动备份策略的选择与实践

3.备份工具

1.mysqldump

mysqldump是mysql自带的备份工具,属于逻辑备份支持innodb的热备份,备份速度慢,适用于备份数据量小的场景。

对myisam存储引擎的表,只能使用温备份,这个时候要防止数据的写入,所以先加上读锁, --lock-all-tables

mysqldump --databases test --lock-all-tables --flush-logs > /tmp/backup_test_`date+%F-%H-%M`.sql

innodb存储引擎表,可以热备,不必对数据库进行加锁的操作,加一个选项可以进行热备份,--single-transaction

mysqldump --databases test --single-transaction --flush-logs--master-data=2> /tmp/backup_test_`date +%F-%H-%M`.sql

更多mysqldump命令,参考MySQL备份命令mysqldump参数说明与示例

2.基于LVM快照备份

物理备份方式

  1. 基于文件系统的物理备份(LVM的快照)
  2. tar之类的命令对整个数据库目录进行打包备份

备份的流程都是遵循以下:

  1. 开启窗口1,临时锁所有表, mysql> flush tables with read lock; 可以在mysql中使用 show master status; 查看状态, 注意这个窗口不能关闭,直到所有备份完成之后才能关闭
  2. 开启窗口2,tar备份数据库文件, tar -zcvf mysqla1.tar.gz mydata
  3. 备份完成,切换窗口1进行解锁, mysql> unlocktables;

更多参考:MySQL 数据库备份种类以及常用备份工具汇总

4.个人方案

每晚凌晨3点mysqldump备份数据库

#加入定时计划
* 03 * * * /root/mytools/mysqlback.sh

脚本如下:


DB_NAME="res"
DB_USER="root"
DB_PASS="****"
BIN_DIR="/usr/bin/" # mysqldump命令所在路径
BACK_DIR="/data/backdata" # 备份工具的路径
DATE="mysql-`date +'%Y%m%d-%H:%M:%S'`"
LogFile="$BACK_DIR"/dbbakup.log # 日志记录保存的目录
BackNewFile=$DATE.sql $BIN_DIR/mysqldump --opt --force -u$DB_USER -p$DB_PASS $DB_NAME > $BACK_DIR/$DATE.sql
echo -----------------------"$(date +"%y-%m-%d %H:%M:%S")"----------------------- >> $LogFile
echo createFile:"$BackNewFile" >> $LogFile
#-ctime表示创建时间,这里表示删除创建时间为多少天之前的文件,也就是结果只保留多少天的数据
find "/data/backdata/" -ctime +7 -type f -name "*.sql" -print > deleted.txt
echo -e "delete files:\n" >> $LogFile
#循环删除匹配到的文件
cat deleted.txt | while read LINE
do
rm -rf $LINE
echo $LINE>> $LogFile
done echo "---------------------------------------------------------------" >> $LogFile

mysql备份策略的更多相关文章

  1. (4.3)mysql备份还原——mysql备份策略

    (4.3)mysql备份还原——mysql备份策略 1.指定备份策略时需要考虑的点 [1.1]备份周期:2次备份间隔时长 [1.2]备份方式:在备份周期中,使用什么备份方式.备份模式 [1.3]实现方 ...

  2. MySQL 备份与还原详解

    相关阅读: MySQL备份和恢复具体实施 http://www.linuxidc.com/Linux/2012-12/76257.htm MySQL备份与恢复的三种方法总结 http://www.li ...

  3. MySQL备份与还原详细过程示例

    MySQL备份与还原详细过程示例 一.MySQL备份类型 1.热备份.温备份.冷备份 (根据服务器状态) 热备份:读.写不受影响: 温备份:仅可以执行读操作: 冷备份:离线备份:读.写操作均中止: 2 ...

  4. MYSQL自动备份策略的选择

    目前流行几种备份方式: 1.逻辑备份:使用mysql自带的mysqldump工具进行备份.备份成sql文件形式.优点:最大好处是能够与正在运行的mysql自动协同工作,在运行期间可以确保备份是当时的点 ...

  5. 转载:MySQL:亲测备份策略实例(线上真实备份案例)

    是否为线上库的备份而烦恼过,这里提供一个完整的备份从属数据库的备份方案,亲测可用 说明: 备份从库,按周计,每周进行一次全备 每周一的早上六点进行全备,其他时间备份中继日志 在从库上启用rsync服务 ...

  6. MySQL 数据库备份策略:全备与增量备份

    一.备份策略1.周日全备份,周一至周六增量备份2.全备份目录/u03/backup/innobackup/full_backup3.增量备份目录/u03/backup/innobackup/incre ...

  7. MYSQL自动备份策略的选择与实践

    目前流行几种备份方式: 1.逻辑备份:使用mysql自带的mysqldump工具进行备份.备份成sql文件形式.优点:最大好处是能够与正在运行的mysql自动协同工作,在运行期间可以确保备份是当时的点 ...

  8. mysql导出csv/sql/newTable/txt的方法,mysql的导入txt/sql方法...mysql备份恢复mysqlhotcopy、二进制日志binlog、直接备份文件、备份策略、灾难恢复.....................................................

    mysql备份表结构和数据 方法一. Create table new_table_nam备份到新表:MYSQL不支持: Select * Into new_table_name from old_t ...

  9. MySQL中如何选择合适的备份策略和备份工具

    ​数据库备份的重要性毋庸置疑,可以说,它是数据安全的最后一道防线.鉴于此,对于备份,我们通常会做以下要求: 多地部署 对于核心数据库,我们通常有两地三中心的部署要求.对于备份来说,也是如此. 一个备份 ...

随机推荐

  1. AngularJS 外部文件中的控制器其他实例

    <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...

  2. with(){}方法

    <html><head><script type="text/javascript">function validate_email(field ...

  3. ES6初识-模块化

    export let A=123; export function test(){ console.log('test'); } export class Hello(){ test(){ conso ...

  4. 树梅派(Raspberry Pi 3b)安装kali linux 2.0

    最近终于入手了一枚树梅派3B,忘记是什么时候到手了,买回来,也没有激动无比,也没有心情澎湃,也就扔到床头,并没有像以前超想拥有的感觉,像是失去了对这些东西都兴趣,没有以前那么强烈了,对于这些对信仰有些 ...

  5. 关于Ubuntu 16.04 pip安装Docker-Compose

    $ sudo apt-get update 安装pip: $ sudo apt-get install python-pip 卸载旧版本docker-compose: $ sudo pip unins ...

  6. 搞定 mybatis generator 三步走

    基于idea 编辑器下maven项目使用mybatis generator快速生成持久层 添加插件:插件网址:http://www.mybatis.org/generator/running/runn ...

  7. ubuntu16.06+vsftpd+nginx搭建图片服务器

    安装vsftpd 注:以下指令都在root账户下操作 # apt安装vsftpd apt-get install vsftpd #启动vsftpd service vsftpd start #新建用户 ...

  8. http协议组成(请求状态码)

    http请求由:请求行:消息报头:请求正文组成 //请求行 Request URL: http://172.32.4.33:8080/operation/v2/autoServer/queryAuto ...

  9. keil5的安装及问题

    win8+keil 注意,在进行破解的时候首先要打开一个工程,而且keil要用管理员的身份进行运行, 才可以破解完成 发现打开之后,出现这样的错误. 原因是因为在创建工程的时候在下图中点了是,要点否才 ...

  10. POJ 2441 状压DP

    Arrange the Bulls Time Limit: 4000MS   Memory Limit: 65536K Total Submissions: 5289   Accepted: 2033 ...