最简mysql定时备份和恢复

2021-07-07  本文已影响0人  中v中

此教程是为了使用crontab定时执行备份mysql脚本来达到备份数据库的功能

1.首先创建一个bash 文件

mkdir back.sh
chmod 777 back.sh

2.编写 back.sh

#!/bin/bash
time=`date +%Y%m%H:%M:%y`
###################数据库配置信息#######################
user=数据库用户名
passwd=数据库密码
dbname=数据库名字
mysql_back_path=备份的数据文件存放地址
###################数据库配置信息#######################
#/usr/bin/mysqldump -u$user -p$passwd $dbname > $mysql_back_path/$time.sql
## 即时gzip压缩
/usr/bin/mysqldump -u$user -p$passwd $dbname | gzip > $mysql_back_path/$time.sql.gz

3.编写crontab定时任务

crontab -e

*/1 * * * * /bin/sh /www/back.sh
0 6 * * * /bin/sh /www/back.sh

以上是每分钟和定时6点备份的写法,具体可网上搜索crontab配置具体配置

根据个人安装路径的不同,命令路径也有所不同,可以根据

find / -name mysqldump -print

这条命令来查询,配置完成后,即可等待定时任务自动备份完成。

demo

#!/bin/bash
time=`date +%Y%m%d_%H:%M:%y`
###################数据库配置信息#######################
user=root
passwd=@@@@@@
dbname=ess
mysql_back_path=/backup/db
###################数据库配置信息#######################
#/usr/bin/mysqldump -u $user -p$passwd $dbname --ignore-table=ess.sys_log > $mysql_back_path/$time.sql
/usr/bin/mysqldump -u $user -p$passwd $dbname --ignore-table=ess.sys_log | gzip >  $mysql_back_path/$time.sql.gz

恢复

1. 解压gzip
gunzip 20210915_11\:24\:21.sql.gz 
2. mysql 导入数据库test
mysql -uroot -paaaa test < 20210915_11\:24\:21.sql 
上一篇下一篇

猜你喜欢

热点阅读