数据库自动备份脚本使用
数据库自动备份脚本使用
备份
Linux
请先在测试环境进行测试
- 编写备份脚本
根据情况调整以下内容中的参数,并保存为backup.sh
并放置在数据库所在服务器上(位置无限制)
echo '##########################################'
echo '###### The database is automatically backed up at 03:00 am every day ######'
echo '##########################################'
# Setting environment variables
db_user="username"
db_password="password"
# 数据库名称
db_name="test"
# docker容器名 未使用docker则删除此变量
db_container_name="mysql"
# 备份文件的存放位置
backup_dir="/usr/local/db/backup"
time="$(date +"%Y%m%d")"
echo 'Get system date: ' $time
if [ ! -e "$backup_dir" ]; then
mkdir $backup_dir
fi
cd $backup_dir
echo ${backup_dir}
echo 'backup started...' $(date "+%Y-%m-%d %H:%M:%S")
# docker安装mysql使用下列命令
docker exec ${db_container_name} mysqldump -u${db_user} -p${db_password} ${db_name} --quick --single-transaction > ${db_name}_${time}.sql
# 直接安装mysql使用下列命令
# mysqldump所在位置 -u${db_user} -p${db_password} ${db_name} --quick --single-transaction > ${db_name}_${time}.sql
find ${backup_dir} -name ${db_name}"*.sql" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
echo 'backup completed!' $(date "+%Y-%m-%d %H:%M:%S")
P.S. 执行失败时请检查Windows与Linux符号差异问题,并且避免以文本文档(.txt)来新建脚本
- 授予脚本可执行权限
进入脚本所在目录并执行以下命令:
chmod u+x backup.sh
- 测试脚本
执行命令:
./backup.sh
观察控制台输出,并检查生成的SQL文件。
- 创建定时任务
执行以下命令:
crontab -e
在文本中插入以下内容:
0 3 * * * /usr/local/db/backup.sh >> /usr/local/db/log/backup.log 2>&1
每天凌晨三点执行备份
> /usr/local/db/log/backup.log 2>&1
是将任务执行的日志输出到指定文件。如果不需要日志则可以去除这一段。
保存并退出,任务会自动运行。
导入备份数据
按普通SQL文件导入方式使用即可
注意:
- 调整SQL文件
有时,备份的SQL文件在开头会附带这一行:mysqldump: [Warning] Using a password on the command line interface can be insecure. 。如果有,则需要删除该行再执行导入操作。
- 出现
Got a packet bigger than 'max_allowed_packet' bytes
错误
打开数据库,执行以下查询:
SELECT @@max_allowed_packet / 1024 / 1024;
得到当前最大允许读取包大小,如果小于你要导入的SQL文件大小,则执行以下命令来提高该限制大小:
SET GLOBAL max_allowed_packet=1000000000;
P.S. 该设置在数据库重启后失效
导入的SQL文件大小,则执行以下命令来提高该限制大小:
SET GLOBAL max_allowed_packet=1000000000;
P.S. 该设置在数据库重启后失效
数据库自动备份脚本使用相关推荐
- oracle备份数据脚本,oracle数据库自动备份脚本
::通过exp命令导出远程机器(192.168.2.1)上指定服务(orcl)指定用户(pmis)及密码(pmis)的数据 ::运行该脚本的机器必须安装oracle @echo off @echo [ ...
- windows下oracle数据库自动备份脚本
1.根据日期自动生成 Oracle 备份文件 @echo off echo 正在备份Oracle数据库,请稍等...... exp userid='用户名/密码@SID' file=D:\bak\re ...
- 数据库自动备份脚本并删除前3天的备份
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- MySQL数据库自动备份脚本
1.自动备份脚本 #备份文件后缀时间 time="$(date +"%Y%m%d$H")" #备份路径和备份的数据库 #把 root替换为实际的用户名: #把 ...
- svn数据库自动备份脚本
创建一个存放备份数据的路径 mkdir /data/svnbak -p 采用shell脚本的方式实现自动备份 #vim backup.sh #!/bin/bash log="/data/sv ...
- gbase导入sql文件_GBase数据库自动备份脚本
ontape是GBase 8s数据库的简单易用的备份工具,但是它必须交互进行,对数据库的日常维护有一定的限制,比如,我们想在晚上进行备份,而不是在白天工作的时间. 下面我就简单示例,实现ontape的 ...
- ubuntu mysql自动备份_Ubuntu下mysql数据库自动备份脚本
1.创建保存备份文件的目录:/home/mysql_datasudo mkdir mysql_data 2.创建备份脚本文件:/home/mysql_data/mysql_databak.shtouc ...
- Linux系统下Oracle数据库自动备份脚本经验分享
1.新建Oracle数据库备份目录 mkdir -p /backup/oracledata 2.新建Oracle数据库备份脚本 vi /backup/oracledata/ordatabak.sh ...
- oracle自动备份教程,Oracle数据库自动备份脚本分享(超实用)
前言 众所周知数据是应用的核心部分,程序坏了换台机器重新发布就可以,但数据一旦丢失,造成的损失将不可挽回,程序发布到生产后,数据的备份便显得尤为重要,由于不一定所有的服务均有资金完成高级的备份如RAC ...
最新文章
- SAP S/4 HANA与SAP Business Suite/R3(ECC)的区别
- 二、Zabbix 服务端部署安装
- java socket smtp_JAVA Socket实现smtp发送邮件
- IDEA Maven项目左边栏只能看到pom文件
- [深度学习]为什么梯度反方向是函数值下降最快的方向?
- kafka实时日志处理
- 线性模型第4讲:弹性网络
- 【细胞分割】基于matlab GUI阙值+边缘+形态学+种子点图像分割【含Matlab源码 615期】
- Steam家庭共享教程
- PHP从入门到精通 第3版pdf
- 最新坦白说破解方法!!!
- SharePoint CAML In Action——Part II
- 开关电源LLC谐振变换器的工作原理
- 天池比赛notebook
- linux添加HP网络打印机,在Ubuntu 18.10系统下安装HP网络打印机的方法
- 合适的教育ERP管理系统,可让你省去很多麻烦
- iOS 应用上架流程(提交到AppStore)
- 凸函数的判断(上): 重要的基本性质
- JAVA 好用的文件备份代码
- 基于JAVA学校校园网站系统(Springboot框架) 开题报告