ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

分享两个Mysql在线全备和binlog日志备份脚本

2021-02-28 22:51:48  阅读:186  来源: 互联网

标签:binlog mysql2 备份 Mysql mysql backup 全备 dir


对于Mysql数据库运维人员,什么最重要,当然是数据库备份最重要,没有之一。在这里我要分享两个Mysql在线全备和binlog日志备份shell脚本给大家,其中Mysql数据库在线全备用的innobackupex工具。

innodbackupex在线热备工具
innodbackupex工具是一个Perl脚本,它对xtrabackup 程序的做了一个封装。innodb的Mysql数据库在线热备份工具,它集成了xtrabackup和其他功能,并且在还有提供增强功能。它能帮你将innodb表和MyISAM表和服务器的其他部分一起执行表的在线热备份,这个功能xtrabackup所不能提供的。

创建备份目录
在执行备份脚本之前,需要先创建好全备和binlog备份存放的目录。

mkdir -p /mysql2/script
mkdir -p /mysql2/backup/xtrabackup
mkdir -p /mysql2/backup/binlog_backup

>/mysql2/script/mysql_backup.sh
>/mysql2/script/mysql_binlog_backup.sh
chmod +x /mysql2/script/mysql_backup.sh
chmod +x /mysql2/script/mysql_binlog_backup.sh

创建Mysql在线热备shell脚本
下面是Mysql数据库在线热备脚本,此脚本还提供,自动清理14天之前的备份

cat /data/backup/mysql_backup.sh

#!/bin/bash
. /home/mysql/.bash_profile

backup_dir="/mysql2/backup/xtrabackup"

innobackupex --defaults-file=/mysql2/data/mysql/conf/3306/my.cnf --user=root --password='root$83740' --socket=/mysql2/data/mysql/run/3306/mysql.sock ${backup_dir}

find ${backup_dir} -mindepth 1 -maxdepth 1 -mtime +14 -type d|xargs rm -rf >> /dev/null 2>&1

binlog日志备份脚本
有了数据库全备,还需要binlog日志,才能保证将业务数据零丢失,此脚本还提供自动清理15天之前的binlog备份日志。

cat /data/backup/mysql_binlog_backup.sh#!/bin/bash
. /home/mysql/.bash_profile

binlog_dir='/mysql2/data/mysql/log/3306'
backup_binlog_dir='/mysql2/backup/binlog_backup'

rsync -avP $binlog_dir/binlog.* $backup_binlog_dir

find ${backup_binlog_dir} -name "binlog.*" -type f ! -name "binlog.index" -mtime +

标签:binlog,mysql2,备份,Mysql,mysql,backup,全备,dir
来源: https://blog.51cto.com/15061930/2642086

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有