博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编写shell脚本计划备份mysql数据库
阅读量:6329 次
发布时间:2019-06-22

本文共 1676 字,大约阅读时间需要 5 分钟。

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库读取权限

[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备份工具

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

 

 

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

红色下划线/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:为脚本添加执行权限,并手动执行备份脚本,确认备份结果

8.设置计划任务

截图如下:

 

内容如下:

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

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

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

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

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

 

转载地址:http://kqyoa.baihongyu.com/

你可能感兴趣的文章
Castle ActiveRecord起步
查看>>
取消Windows server 2008关机提示备注的方法
查看>>
Linux+Apache+Mysql+PHP典型配置
查看>>
Ext框架基础
查看>>
逐行读取txt文件,使用Linq与StreamReader的Readline方法
查看>>
6.0字符串String
查看>>
【mysql学习笔记整理】
查看>>
11.30
查看>>
ExportGrid Aspose.Cells.dll
查看>>
Jmeter录制数据库脚本
查看>>
Python爬虫实例:糗百
查看>>
【转】iOS:堆(heap)和栈(stack)的理解--简介
查看>>
PDO的使用
查看>>
docker for zabbix
查看>>
Sass与Compress实战:第二章
查看>>
标准架构~业务层到底是否应该关注数据持久化的方式
查看>>
css3 各种纸张贴纸效果
查看>>
js取整
查看>>
1021 Deepest Root
查看>>
labview之连接MySQL数据库
查看>>