Linux环境下mysql定时备份和还原多个数据库

导读:本篇文章讲解 Linux环境下mysql定时备份和还原多个数据库,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、创建备份目录

cd /usr/mysql
mkdir backup

二、创建备份Shell脚本
名字随便

vi bfDatabaseName.sh

添加内容 下面是需要注意的一些变量

#!/bin/bash
#name:bakmysql.sh
 
DB_USER="root"						   #数据库用户名 
DB_PASS="123456"					   #数据库密码
DB_HOST="localhost"				   #数据库地址(IP或者是localhost之类的)
DB_NAMES="bosh_education cmall"               #数据库名称,多个用空格隔开
DB_ZFBM="--default-character-set=utf8" #字符集编码设置(这个很关键,解决导出文件中中文乱码)
DB_TABLE="user"             #table name

备份路径

# Others vars
BIN_DIR="/usr/bin"            #the mysql bin path
BCK_DIR="/usr/mysql/backup"    #备份文件路径
DATE=`date +%F`

循环数据库

for dbName in ${DB_NAMES[*]}

do
$BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS -h$DB_HOST $DB_ZFBM  $dbName > $BCK_DIR/db_$DATE.sql
    done

定期3天后删除

find $BCK_DIR -name "db_*.sql" -type f -mtime +3 -exec rm {} \; > /dev/null 2>&1

三、添加可执行权限

chmod u+x bkDatabaseName.sh

添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;

./bfDatabaseName.sh

四、添加计划任务
检测或安装 crontab
确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装

# crontab
-bash: crontab: command not found

如时没有安装 crontab,需要先安装它,具体步骤请参考

五、添加计划任务

crontab -e	

这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存:为每天3点执行

* 3 * * * /home/backup/bkDatabaseName.sh

crontab 基本格式 :
*  *  *  *  *  command
分  时  日  月  周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列标识号星期0~6(0表示星期天)

第6列要运行的命令

查看定时任务

crontab -l

在这里插入图片描述

六、还原
创建好数据库后直接运行sql文件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/15568.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!