备份策略描述

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

mysqldump备份适用于小数据量的备份,比如100G以下的数据量,就可以使用逻辑备份

举例两个逻辑备份用时的例子,6G库用时30秒(比较快的),45G库用时9分钟(比较慢的),按慢的速度计算,100G的库逻辑备份用时约20分钟,可以接受。

数据库通常采用innodb+row+gtid格式,开启binlog并使用binlog server对binlog也进行备份

mysqldump则至少要加上single-transaction和master-data参数,比如

/usr/local/mysql/bin/mysqldump -h$host -uautomng -pAutomng_123 -P$port --log-error=$bkdir/$today_bklog --set-gtid-purged=OFF --add-drop-database --add-drop-table  --flush-logs --single-transaction --triggers --routines --events --flush-privileges --master-data=2 --default-character-set=$charset $db_name > $bkdir/$today_bkfile

binlog server,从mysql-bin.000010开始备份

mkdir -p /data0/backup_binlog/bakdb/

# mysqlbinlog --no-defaults -h192.168.56.201 -P3318 -uautomng -pAutomng_123 -R --raw --stop-never mysql-bin.000010 -r /data0/backup_binlog/bakdb/ &

-R | --read-from-remote-server 表示开启binlog备份,在对应的主节点上请求binlog到本地

--raw 被复制过来的binlog以二进制的格式存放,如果不加该参数则为text格式。

-r | --result-file 指定目录或文件名:
若指定了--raw参数,-r的值指定binlog的存放目录和文件名前缀;若没有指定--raw参数,-r的值指定文本存放的目录和文件名。

-t 这个选项代表从指定的binlog开始拉取,直到当前主节点上binlog的最后一个。

--stop-never 持续连续从主节点拉取binlog,持续备份到当前最后一个,并继续下去。该参数包含-t

--stop-never-slave-server-id 默认值65535,用于在多个mysqlbinlog进程或者从服务器的情况下,避免ID冲突。

mysqlbinlog开启备份后,直到连接关闭或者被强制kill才会结束。可通过ps查看到已经开启的备份进程。

备份策略

备份脚本以远程的方式将数据备份到本地后,立即恢复一份。这样遇到问题需要恢复某个表的数据时,可以节省掉全库的恢复时间,已经有了一个全备恢复的起点。同时开启binlog备份。

binlog server搭建示例

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

连接测试

mysql -uautomng -pAutomng_123 -P3318 -hmysql01

mysql -uautomng -pAutomng_123 -P3306 -hbak

创建binlog存放目录

mkdir -p /data0/backup_binlog/mysql01
mkdir -p /data0/backup_binlog/bak

确认从哪个binlog开始复制后,以后台方式执行命令

# ps -ef | grep binlog
root : pts/ :: mysqlbinlog --no-defaults -hmysql01 -P3318 -uautomng -px xxxxxxxxx -R --raw --stop-never --stop-never-slave-server-id= mysql-bin. -r /data0/backup_binlog/mysql01/
root : pts/ :: mysqlbinlog --no-defaults -hbak -P3306 -uautomng -px xxxxxxxxx -R --raw --stop-never --stop-never-slave-server-id= mysql-bin. -r /data0/backup_binlog/bak/

目前(2018-07-31)binlog server不支持mysql8.0.11,会报以下错误

ERROR: Could not find server version: Master reported unrecognized MySQL version '8.0.11'.

备份多个实例

mysqlbinlog --no-defaults -h192.168.10. -P3308 -uautomng -px xxxxxxxxx -R --raw --stop-never mysql-bin. -r /data0/backup_binlog/bak3/ --stop-never-slave-server-id= &
mysqlbinlog --no-defaults -h192.168.10. -P3366 -uautomng -px xxxxxxxxx -R --raw --stop-never mysql-bin. -r /data0/backup_binlog/bak2/ --stop-never-slave-server-id= &

my08_mysqldump+binlog server备份的更多相关文章

  1. 利用binlog server及Xtrabackup备份集来恢复误删表(drop)

      Preface       Today I'm gonna test how to rescue a dropped table from binlog server based on a ful ...

  2. mysql 利用binlog增量备份,还原实例

    mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 标签:binlog, mysql, mysqldump, 增量备份 一,什么是增量备份 增量 ...

  3. MySQL binlog server

    从5.6版本开始,可以利用 mysqlbinlog命令把远程机器的日志备份到本地目录,这样就更加方便快捷的实现一个binlog server. 环境介绍:192.168.56.100是备份服务器,19 ...

  4. MySQL BinLog Server 搭建实战

    一.MySQL Binlog server 介绍 MySQL Binlog Server: 它使用 mysqlbinlog 命令以 daemon 进程的方式模拟一个 slave 的 IO 线程与主库连 ...

  5. MHA 的 Binlog Server & VIP 漂移

    目录 Binlog Server 在 MHA 配置文件中配置 Binlog Server 创建 Binlog 存放目录 实时传输主库 Binlog 命令 重启 MHA 检验 MHA Manager 服 ...

  6. xtra+binlog增量备份脚本

    目录 一.备份原理 innobackupex原理 binlog原理 特点 备份策略 二.环境准备 开启binlog 创建授权用户 安装innobackupex 三.添加脚本 全量备份 增量备份 bin ...

  7. Acronis Server备份Linux系统

    Acronis Server备份Linux系统 前段时间用Acronis Disk Director Suite解决了Thinkpad笔记本在win7的分区问题(http://chenguang.bl ...

  8. 17、SQL Server 备份和还原

    SQL Server 备份 恢复模式 SQL Server 数据恢复模式分为三种:完整恢复模式.大容量日志恢复模式.简单恢复模式. 完整恢复模式 默认的恢复模式,它会完整记录下操作数据库的每一个步骤, ...

  9. 第一篇——第一文 SQL Server 备份基础

    原文:第一篇--第一文 SQL Server 备份基础 当看这篇文章之前,请先给你的所有重要的库做一次完整数据库备份.下面正式开始备份还原的旅程. 原文出处: http://blog.csdn.net ...

随机推荐

  1. ???SpringMVC_03 利用SpringMVC提供的过滤器解决浏览器请求参数的乱码问题

    1 响应乱码问题 在启用mvc注解的配置中添加一个转换器配置 <?xml version="1.0" encoding="UTF-8"?> < ...

  2. git push是报Permission denied (publickey)错误解决

    今天晕了半天了,搞了个git工程到github上,以为很简单,因为之前也弄过,那知道搞了大半天都搞不好,一直报如下错误 D:\javawork\ee-0.0.1-SNAPSHOT>git pus ...

  3. CPU时钟是个什么东西

    CPU时钟说的是频率生成器,可能生成的是方波也可能是其它波. 频率生成器那是什么东西?这教要讲到压电效应了. 压电效应这个词是一个统称,它包括正压电效应和逆压电效应. 传说在很久以前有一个科学家发现了 ...

  4. WDCP文件缓存问题

    WDCP文件缓存问题,新建index.php 输入代码 <?php echo '789'; ?> 显示789 修改代码 <?php echo '666'; ?> 显示789 访 ...

  5. bzoj4318 OSU!

    传送门 题目 osu 是一款群众喜闻乐见的休闲软件.  我们可以把osu的规则简化与改编成以下的样子:  一共有n次操作,每次操作只有成功与失败之分,成功对应1,失败对应0,n次操作对应为1个长度为n ...

  6. grep多条件和sed合并两行

    grep多条件,最简单的方式是使用正则表达式: egrep "条件1|条件2"   sed合并两行,将 1 2 3 4 合并成: 1 2 3 4 sed '$!N;s/\n/\t/ ...

  7. 关于文本PDG的字体

    作者:马健邮箱:stronghorse_mj@hotmail.com发布:2008.08.03 有不少人在问为什么有些文本PDG在SSREADER里看到的是宋体,在Acobat里看到的是黑体,其实原因 ...

  8. 关于Linq对DataTable和List各自的两个集合筛选的相关操作技巧

    项目中用到了对两个集合的帅选等操作,简单总结下 1.Linq操作多个Datable 可以通过AsEnumerable()方法对DataTable进行Linq操作 //获取数据表所有数据 DataTab ...

  9. Python3中实现简单的购物车程序

    product_list = [ ('iphone',5800), ('imac',15800), ('watch',9800), ('cloth',550), ('coffe latee',35), ...

  10. webservice服务及客户端 编程 - 入门

    开发工具 eclipse 建立一个简单的webservice服务 1 创建服务 (1)创建一个 java项目(java project)或 web项目(Dynamic web project) (2) ...