Mysql
Mysql入门系列
Mysql字典
Mysql安装部署
原有环境部署多个版本
从头部署多个版本
Mysql-5.6 二进制多实例部署
centos7部署二进制mysql-5.6
centos7部署mysql-5.7
Mysql原理说明
索引的数据结构及算法原理
千万的数据,你是怎么查询的?
分库分表方案
Mysql资料 视图
Mysql资料 查询条件
Mysql资料 存储索引
Mysql资料 数据类型
Mysql资料 主键
Mysql资料 索引
Mysql资料 锁机制
Mysql资料 查询SQL执行顺序
Mysql资料 用户权限详解
Mysql资料 慢查询
Mysql服务维护
shell脚本 mysql-binlog分析
shell脚本 binlog方式增量备份mysql
shell脚本 mysqldump方式全备份mysql
阿里云RDS备份 恢复到本地
xtra+binlog增量备份脚本
xtrabackup备份脚本
mysqldump备份容灾脚本
Mysql资料 xtrabackup
Mysql资料 mysqldump
数据恢复binlog2sql
数据备份类型简介
Mysql资料 Binlog
Mysql安全检查
Mysql配置文件
shell脚本 比较mysql配置文件
Mysql脚本 优化检测
Mysql配置文件 16c64g优化
Mysql配置文件 4c8g优化
Mysql配置文件 innodb引擎
Mysql配置文件 binlog和慢日志
Mysql配置文件 扩展详细配置
Mysql配置文件 基本设置
Mysql配置文件 客户端
show_slave_status参数详解
Mysql_SQL语句
Mysql状态信息查询
用户和密码管理操作
表和字段管理操作
库管理操作
基本操作
Mysql集群
Innodb Cluster集群部署配置
什么是mysql innodb cluster?
主从复制参数详解
Mysql配置 主主同步
Mysql配置 主从同步
Mysql新闻
Mysql使用案例
shell脚本 安全删除MySQL大表
shell脚本 检查mysql节点数据一致性
shell脚本 批量查看mysql表条目数
Mysql报错合集
Mysql一致性效验_pt工具
mysqlslap基准测试
Mysql实例 数据库优化
Mysql解决主从慢同步问题
Mysql实例 表设计
Mysql脚本 生成测试数据
本文档使用 MrDoc 发布
-
+
home page
xtrabackup备份脚本
[TOC] ## 一.备份脚本 ### 环境需求 编辑/etc/my.cnf文件添加在[mysqld]版块下添加如下变量,添加后重启服务。 ```python #开启,并且可以将mysql-bin改为其它的日志名 log-bin=mysql-bin #添加id号,如果做主从,就不能一样 server-id=1 #超过200M将生产新的文件,最大和默认值是1GB max_binlog_size=1G #此参数表示binlog使用最大内存的数,默认1M。 max_binlog_cache_size=1M #此参数表示binlog日志保留的时间,默认单位是天。 expire_logs_days=7 ``` 也可以用如下方式动态更改全局变量,连接mysql服务器后配置,不用重启服务器。 `set GLOBAL expire_logs_days=7;` 注意:设置之后并不会立即执行,需要如下条件 手动执行flush logs(注意,如果binlog文件过多会引发IO问题,并且flush 也不会同步到从库) 重新启动时(MySQL将会new一个新文件用于记录binlog) ### 全量脚本 xbak-all.sh,对变量和命令部分进行配置 ```python #!/bin/bash #全量备份,只备份一次 #备份目录,目录不存在会自动创建 backup_dir="/bak/mysql-xback" #检查 [[ -d ${backup_dir} ]] || mkdir -p ${backup_dir} if [[ -d ${backup_dir}/all-backup ]];then echo "全备份已存在" exit 1 fi #命令,要填写备份用的账号和密码 innobackupex --defaults-file=/etc/my.cnf --user=back --password='123456' --no-timestamp ${backup_dir}/all-backup &> /tmp/mysql-backup.log tail -n 1 /tmp/mysql-backup.log | grep 'completed OK!' if [[ $? -eq 0 ]];then echo "all-backup" > /tmp/mysql-backup.txt else echo "备份失败" exit 1 fi ``` ### 增量脚本 xbak-section.sh,对变量和命令部分进行配置 ```python #!/bin/bash #增量备份 #备份目录 backup_dir="/bak/mysql-xback" #新旧备份 old_dir=`cat /tmp/mysql-backup.txt` new_dir=`date +%F-%H-%M-%S` #检查 if [[ ! -d ${backup_dir}/all-backup ]];then echo "还未全量备份" exit 1 fi #命令,要填写账号密码 /usr/bin/innobackupex --user=back --password='123456' --no-timestamp --incremental --incremental-basedir=${backup_dir}/${old_dir} ${backup_dir}/${new_dir} &> /tmp/mysql-backup.log tail -n 1 /tmp/mysql-backup.log | grep 'completed OK!' if [[ $? -eq 0 ]];then echo "${new_dir}" > /tmp/mysql-backup.txt else echo "备份失败" exit 1 fi ``` ## 二.备份策略 首先bash -x xbak-all.sh来进行一次全备份,数据量大可能要等一会 再每天夜里2点半进行一次增量备份,脚本将自动执行上一次备份结果来接替备份。 crontab -e 添加计划任务。 ```python 30 2 * * * /bin/bash /root/bin/xbak-section.sh ```
日行一善
Dec. 10, 2020, 2:24 p.m.
Share documents
Collection documents
Last
Next
Scan wechat
Copy link
Scan your mobile phone to share
Copy link
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
QQ粉丝交流群:882382311
Markdown文件
share
link
type
password
Update password