编写shell脚本计划备份mysql数据库

Shell脚本计划备份mysql数据库

实验准备:

两台linux5.5主机:

一台用作backup server主机,地址为192.168.10.1

一台用作mysql server主机,地址为192.168.10.2

实验步骤:

1.mysql主机上搭建yum源,挂载光盘

2.mysql主机上搭建mysql数据库并启动mysql

3.关闭两台主机的防火墙(可以清除规则也可以添加相应的3306端口允许)

我个人这里用iptables -F 清除规则

4.mysql主机上创建一个专用的数据库备份帐户operator,允许从备份主机192.168.10.1、连接到mysql数据库,并授权对studydbcoursedb库读取权限

153219616.png

[root@mysql ~]# mysql

mysql> create database studydb;

mysql> create database coursedb;

mysql> GRANT select,lock tables ON studydb.* TO 'operator'@'192.168.10.1' IDENTIFIED BY '123.asd';

mysql> GRANT select,lock tables ON coursedb.* TO 'operator'@'192.168.10.1' IDENTIFIED BY '123.asd';

5.从备份主机中安装mysqldump备份工具

并测试数据库访问,查询授权等是否有效

 

 

153256269.png

153256150.png

153256762.png

6.编写mysql备份脚本:在备份主机backup中创建用来存放备份文件的目录,并编写相应的备份脚本

153330877.png

红色下划线/usr/bin/mysqldump是因为不同的安装方式有不同的位置,根据实际环境填写

#!/bin/bash

#这是一个简化的mysql数据库逻辑备份脚本

#1.定义数据库连接、目标库信息

MY_USER="operator"

MY_PASS="123.asd"

MY_HOST="192.168.10.2"

MY_CONN="-u $MY_USER -p$MY_PASS -h $MY_HOST"

MY_DB1="studydb"

MY_DB2="coursedb"

#2.定义备份目录、工具、时间、文件名主体

BF_DIR="/opt/qnzx_dbbak/"

BF_CMD="/usr/bin/mysqldump"

BF_TIME=`date +%Y%m%d-%H%M`#时间格式:YYYYmmdd-HHMM

NAME_1="$MY_DB1-$BF_TIME"

NAME_2="$MY_DB2-$BF_TIME"

# 3.先导出.sql脚本,然后再进行压缩(打包后删除原文件)

cd $BF_DIR

$BF_CMD $MY_CONN --databases $MY_DB1 > $NAME_1.sql

$BF_CMD $MY_CONN --databases $MY_DB2 > $NAME_2.sql

/bin/tar zcf $NAME_1.tar.gz $NAME_1.sql --remove &> /dev/null

/bin/tar zcf $NAME_2.tar.gz $NAME_2.sql --remove &> /dev/null

date +%Y%m%d-%H%M`Y H M都是大写:Y是年份,m是月份,d是天,H是小时,M是分钟

7:为脚本添加执行权限,并手动执行备份脚本,确认备份结果

153345847.png

8.设置计划任务

截图如下:

 

153421955.png

153421517.png

内容如下:

mvqnzx_dbbak.sh/opt/qnzx_dbbak/         ——将脚本转移到备份目录

crontab -e                                                    ——在指定的时间执行脚本程序

915* * * /opt/qnzx_dbbak/qnzx_dbbak.sh

service crond status                                   ——确保crond服务已运行

【因生产所需而有所不同,具体设置还需根据生产环境而定,仅做参考,不足之处望谅解】

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值