• 1阅读
  • 0回复

Mysql自动备份并压缩

在线 zfc2020
级别: 新手上路
楼主   发表于: 2022-01-05 , 来自: From:Unknown

【Windows环境下做MySQL自动备份】
1、首先在某个路径下创建一个bat批处理文件然后将如下所写的语句粘贴进入
该语句含义为:
进入到你的备份文件路径中 然后执行mysqldump导出语句  使用root用户 密码是123321 对test_one这个数据库导出,导出路径是 E:\beifen\
sql文件的名称为获取当天的时间,直接执行这个批处理就可得到一个sql,还原时进入MySQL中执行source 11.sql
------------------------------------------------------------------------------
cd \
E:
cd E:\Mysql\bin
mysqldump -uroot -p123321 test_one> E:\beifen\%date:~0,4%%date:~5,2%%date:~8,2%.sql
exit
------------------------------------------------------------------------------
2、第二步 创建一个Windows计划任务进行定时备份





【Linux环境下做MySQL自动备份】

1、创建一个备份脚本 touch sqlshell.sh  内容如下  ,创建后需要提前赋予执行权限
=================sqlshell.sh内容===============
# 数据库账号
db_user="root"
# 数据库密码
db_passwd="root."
# 数据库名称
db_name="hams"
# 指定备份数据库存放目录,此目录根据自己的需要可以修改,但是一定要指定绝对路径
backup_dir="/datavg-datalv/mysql_backup"
# 数据库名称后更得时间格式 (年月日时分秒)
time="$(date +"%Y%m%d%H%M%S")"
# 备份关键语句,其中 mysqldump 命令。注意变量前面加 $ 。
mysqldump -u$db_user  -p$db_passwd --default-character-set=utf8 $db_name  > "$backup_dir/$db_name"_"$time.sql"
# 使用gzip对sql进行压缩
gzip "$backup_dir/$db_name"_"$time".sql
# 找到十五天以前的干掉
find $backup_dir -mtime +15 | xargs -i rm -rf {}
2、使用Linux的crontab定时器  
#命令 crontab -e
编辑定时执行时长
0 1 * * 3,5 root /usr/local/sqlshell.sh
以root身份每周三周五的凌晨一点执行

发帖 回复
« 返回列表
描述
快速回复
如果您在写长篇帖子又不马上发表,建议存为草稿