最简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