mysql不停库全量备份,mysql全量备份数据

导读:本文介绍的是mysql数据备份恢复的相关知识,以及通过shell编写备份脚本定时执行!

1、mysql数据备份

1.1、全量备份命令如:

/data/mysql/bin/mysqldump -u${账号} -p${密码} ${备份数据库名称} > /data/mysql_back/${备份名}`date +%Y%m%d%H`.sql

#/data/mysql/bin/mysqldump 这个是我mysql的路径,至于你们的mysql路径看自己系统路径来。

2.2、指定表数据备份命令如:

/data/mysql/bin/mysqldump -u${账号} -p${密码} ${备份数据库名称} ${备份数据库中表名称} > /data/mysql_back/${备份名}`date +%Y%m%d%H`.sql

2、mysql指定数据恢复

2.1从全量备份数据中找到要恢复的数据

2.1.1 数据恢复之前切记先将整个数据库备份;执行备份操作请查看步骤一

2.1.2 从全量数据中找到要恢复的数据,执行命令:

grep 'INSERT INTO `${表名称}`' ${备份数据} > ${存储的数据地址}

#示列

grep 'INSERT INTO `user`' mysql2018061002.sql > /data/mysql_user.sql

2.2 恢复找到的数据,进入mysql console:

2.3 数据恢复命令:

mysql > use mysql;

mysql > source /data/mysql_user.sql;

2.4 数据恢复完成

步骤二的恢复数据,是从全量备份数据中找到我们需要恢复的数据进行恢复。

1、如果我们是需要全量恢复,直接进入mysql控制台进行source导入命令恢复。

2、如果之前有指定表的备份数据,也可以直接进行mysql控制台,用source命令。

3、shell编写mysql全量备份命令,并定时执行。

下面脚本是全量备份mysql数据库并且只保留7天内的,7天外的删除。

并压缩成tar文件存储到/data/mysql_backup目录下。

该脚本可以通过linux crontab 定时执行改脚本进行备份。

备份后的名称如:mysql2018061002.sql.tar

3.1 脚本示列

backupdir=/data/mysql_backup

/data/mysql/bin/mysqldump -u${账号} -p${密码} ${备份数据库名称} > $backupdir/${备份名}`date +%Y%m%d%H`.sql && cd $backupdir &&

tar -zcvf mysql`date +%Y%m%d%H`.sql.tar mysql`date +%Y%m%d%H`.sql && rm -f ${备份名}`date +%Y%m%d%H`.sql

&& find $backupdir -name "${备份名}*.sql.tar" -type f -mtime +7 -exec rm {} \;

3.2 linux crontab定时执行脚本

3.2.1、crontab -e #列出当前用户的crontab并进行编辑

3.2.2、输入0 1 * * * /data/mysqlbackup.sh # 表示每天凌晨1点执行

3.2.3、:wq 保存退出即可

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值