码迷,mamicode.com
首页 > 数据库 > 详细

linux下应用crontab对mysql数据库进行定时备份

时间:2021-06-02 11:21:58      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:方式   text   假设   mysql   密码   host   通过命令   提示   cron   

mysql数据库提供了备份命令mysqldump,可以结合crontab命令进行定时备份。

我写了一个mysql_backup.sh的脚本,此脚本按照日期在当前目录下创建一个文件夹,同时在此目录下备份一个文件。内容如下:

#!/bin/bash
#设置mysql备份目录
folder=/home/lx/data_backup
cd $folder
day=`date +%Y%m%d`
rm -rf $day
mkdir $day
cd $day
#数据库服务器,一般为localhost
host=localhost
#用户名
user=root
#密码
password=password
#要备份的数据库
db=guizi_lx

#数据要保留的天数
days=3
mysqldump -h$host -u$user -p$password $db>backup.sql
#如何只是备份单表或者多张表,命令如下:
mysqldump -h$host -u$user -p$password $db 表名1 表名2 表名3 >backup.sql

zip backup.sql.zip backup.sql
rm backup.sql
cd ..
day=`date -d "$days days ago" +%Y%m%d`
rm -rf $day

另外,需要配置crontab。假设上述文件位置为/home/chzhao/bin/mysqlbackup.sh,则按以下命令配置crontab.

crontab -e

出现crontab的配置窗口,默认的编辑器是vim。
输入:

0 16 * * * /home/chzhao/bin/mysqlbackup.sh

表示每天的16点执行此脚本。

配置完毕之后,可以通过命令crontab -l查看crontab的配置情况。

二、数据库的还原

mysql命令还原

1、进入数据库备份好的文件夹

[root@CentOS 20200830]# ls

backup.sql.zip

2、解压出sql文件

[root@CentOS 20200830]# unzip backup.sql.zip

Archive: backup.sql.zip

inflating: backup.sql

3、查看解压出的文件:backup.sql是解压出的文件

[root@CentOS 20200830]# ls

backup.sql backup.sql.zip

4、还原数据库操作,回车以后同样会提示输入登录密码

[root@CentOS 20200830]# mysql -u root -p guizi_lx < backup.sql

Enter password:

[root@CentOS 20200830]#


第二种方式:使用source命令恢复数据库
第一步:进入mysql控制台,切换到我们想恢复数据的数据库,指令如: use 数据库名
第二步:使用source命令恢复,即我们备份时的.sql文件,
指令如:source /home/lzh/bak/test.sql

linux下应用crontab对mysql数据库进行定时备份

标签:方式   text   假设   mysql   密码   host   通过命令   提示   cron   

原文地址:https://www.cnblogs.com/MR-ws/p/14813089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!