备份数据库脚本

mysql备份脚本

为什么需要数据库备份

1.保证数据的安全与完整

企业的数据安全应该来说是企业的命脉。一旦丢失或造成损坏,轻则损失客户与金钱,重则倒闭
备份的目的:为了保证数据在被人为失误、操作不当、蓄意等情况下删除或损坏后,能及时有效的进行恢复并不会很大程度上影响到业务运行。

2、为业务提供不间断服务

实际生产环境对数据库的要求,首先就是具备7×24×365不间断服务的能力,这也是一定要备份数据库的其中原因之一。
常用的备份方式包括以下:

1.逻辑备份–mysqldump,mydumper

逻辑备份其实就是利用MySQL数据库自带的mysqldump命令,或者使用第三方的工具,然后把数据库里的数据**以SQL语句的方式导出成文件的形式。**在需要恢复数据时,通过使用相关的命令(如:source )将备份文件里的SQL语句提取出来重新在数据库中执行一遍,从而达到恢复数据的目的。

逻辑备份的优点与使用场景

优点:简单,易操作,自带工具方便、可靠。

使用场景:数据库数据量不大的情况可以使用,数据量比较大(超过20G左右)时备份速度比较慢,一定程度上还会影响数据库本身的性能。

备份数据库脚本

vim /opt/scripts/mysqlbackup.sh

#!/bin/bash
#数据库用户和密码
user=root
passwd=123456

#要备份的数据库名,多个数据库用空格分开
databases=(db1 db2 db3)

#备份文件要保存的目录
basepath=’/backup/mysql/’
if [ ! -d “ b a s e p a t h " ] ; t h e n m k d i r p " basepath" ]; then mkdir -p " basepath”
fi
#循环databases数组
for db in KaTeX parse error: Expected 'EOF', got '#' at position 25: …s[*]} do #̲ 备份数据库生成SQL压缩文件…user -p$passwd -B $db |gzip> b a s e p a t h basepath db-$(date +%Y%m%d).sql.gz
done

#删除7天之前的备份数据
find $basepath -mtime +7 -name “*.sql.gz”|xargs rm -f

发布了13 篇原创文章 · 获赞 17 · 访问量 848

猜你喜欢

转载自blog.csdn.net/dongxuej/article/details/103786375
今日推荐