MySQL 备份脚本--mysqldump在slave 上进行备份
MySQL 备份脚本--mysqldump在slave 上进行备份
使用mysqldump在slave上进行备份,建议使用stop slave sql_thread,start slave sql_thread,
在slave上进行mysqldump备份的时候(--single-transaction),这时候如果主库对表发生ddl,从库的mysqldump备份可能会发生错误,table definition has changed,pelase try transaction.mysqldump终止
#!/bin/sh
#create by hq on 20160531 show_slave_status(){
echo -e"-----master.info:-----" >>${LOG_FILE}
cat ${MAIN_PATH}/data/master.info | sed -n '2,3p' >>${LOG_FILE}
echo -e"----show slave status:----">>${LOG_FILE}
echo "show slave status\G" |${MYSQL_CMD} | egrep "Slave_IO_Running|Slave_SQL_Running|Master_Log_File|Read_Master_Log_Pos|Exec_Master_Log_Pos|Relay_Log_File|Relay_Log_Pos" >>${LOG_FILE}
echo -e "" >> ${LOG_FILE}
}
source /data/mysqldata/scripts/mysql_env.ini
HOST_PORT=3306
HOST_IP=127.0.0.1
MAIN_PATH=/data/mysqldata/${HOST_PORT}
DATA_PATH=/data/mysqldata/backup/mysql_full
DATA_FILE=${DATA_PATH}/dbfullbk_`date +%F`.sql.gz
LOG_FILE=${DATA_PATH}/dbfullbk_`date +%F`.log
MYSQL_PATH=/usr/local/mysql/bin
MYSQL_CMD="${MYSQL_PATH}/mysql -u${MYSQL_USER} -p${MYSQL_PASS} -h${HOST_IP} -P${HOST_PORT} -S ${MAIN_PATH}/mysql.sock"
MYSQL_DUMP="${MYSQL_PATH}/mysqldump -u${MYSQL_USER} -p${MYSQL_PASS} -h${HOST_IP} -P${HOST_PORT} -A -R -S ${MAIN_PATH}/mysql.sock --single-transaction" echo > ${LOG_FILE}
echo -e "====jobs started at `date +%F' '%T' '%w`====\n">>${LOG_FILE} if [ ! -d ${DATA_PATH} ]; then
mkdir -p ${DATA_PATH}
echo -e "===`${DATA_PATH}` does not exsits,created them!" >> ${LOG_FILE}
fi echo -e "**** started postion===:" >>${LOG_FILE}
echo "stop slave SQL_THREAD;"| ${MYSQL_CMD}
show_slave_status echo -e "**** executed command:${MYSQL_DUMP} |gzip > ${DATA_FILE}">>${LOG_FILE}
${MYSQL_DUMP} | gzip >${DATA_FILE}
echo -e "**** execute finished at `date +%F' '%T' '%w`"==== >>${LOG_FILE}
echo -e "**** backup file size:`du -sh ${DATA_FILE}`====\n" >>${LOG_FILE} echo -e "**** recheck position====">>${LOG_FILE}
show_slave_status
echo "start slave SQL_THREAD;" | ${MYSQL_CMD} echo -e "----find expired backup and delete those file ---" >>${LOG_FILE}
for tfile in $(/usr/bin/find ${DATA_PATH} -mtime +30)
do
if [ -d $tfile ] ; then
rmdir $tfile
elif [ -f $tfile ] ; then
rm -f $tfile
fi echo -e "---- delete file :$tfile---" >>${LOG_FILE}
done echo -e "\n===jobs ended at `date +%F' '%T' '%w` ====\n ">>${LOG_FILE}
MySQL 备份脚本--mysqldump在slave 上进行备份的更多相关文章
- mysql数据库使用mysqldump工具针对一个数据库备份,使用--databases选项与不使用该参数的区别
需求描述: 今天在做mysqldump备份某个数据库的试验,在备份某个数据库的时候可以使用 --databases参数,也可以直接进行某个数据库的备份,那么这里记录下两者的区别 操作过程: 1.使用- ...
- mysql备份脚本-mysqldump
背景:全库备份 备份流程: 1.生成DB列表,将DB名字写入文件 2.定义备份函数,结果写入SQL文件 3.压缩文件,减少磁盘占用量 4.设置保留天数,定期删除n天之前的 5.通过for循环读取DB列 ...
- 【转】【MySql】脚本备份数据库
#!/bin/bash #this is a script of mysql backup if [ ! -d /mydata/data1/backup ] ;then mkdir /mydata/d ...
- MySQL(十五)之数据备份中mysqldump详解
前言 其实前面一篇数据备份已经是非常的详细了,这里我想单独的讲解一下mysqldump,相信很多程序员都是用过这个命令的! 一.MySQL数据库的备份与还原 1.1.MySQL数据库备份 1)语法 m ...
- 【MySql】脚本备份数据库
#!/bin/bash #this is a script of mysql backup #Mysql="mysql" #MysqlDump="mysqldump&qu ...
- weblogic域备份脚本
一直一来,由于空间问题,weblogic域很少备份,偶尔会手动备份一次,这运维做得不称职,今天有时间,写个小脚本来定时备份. 1.脚本备份文件目录结构 [weblogic@mylinux ~]$ tr ...
- mysql线上一个定时备份脚本
数据库服务使用的是阿里云的mysql,远程进行定时的全量备份,备份到本地,以防万一.mysql数据库远程备份的数据最好打包压缩: [root@huanqiuPC crontab]# pwd/Data/ ...
- 备份 MySQL 的 shell 脚本(mysqldump版本) shell脚本
#!/bin/bash # 备份 MySQL 的 shell 脚本(mysqldump版本) # 定义变量 user(数据库用户名),passwd(数据库密码),date(备份的时间标签) # dbn ...
- linux centeros 通过 innoback 工具备份mysql 5.7 全库并自动压缩zip上传到备份服务器的脚本,附自动清理过期备份
innoback 安装见连接:https://blog.csdn.net/fanren224/article/details/79693863 脚本解析后续将更新 181024:更新添加定期清理备份的 ...
随机推荐
- java中如何将非整数保留到小数点后指定的位数
- javaMail发送邮件实例
背景:最近项目里有个实时发送邮件的功能,今天闲下来整理 一下,记录下来方便以后直接使用. 代码: package com.dzf.utils; import java.io.File; import ...
- navigationBar
1.navigationBar导航条可以看做是self.navigationController导航控制器的一个属性. 通过self.navigationController.navigationBa ...
- skynet中动态库的处理
skynet中的.so动态库由service-src中的c文件编译完后生成,其中最重要的是snlua.c. 源码地址:https://github.com/cloudwu/skynet/service ...
- codeforces763C
解题报告: 直接截图好了...辣鸡博客园不能上传文件
- review40
使用URL创建对象的应用程序称为客户端程序. URL对象调用InputStream openStream()方法可以返回一个输入流,该输入流指向URL对象所包含的资源. InetAddress类可以将 ...
- gbk编码汉字转换成对应的十进制十六进制的值
http://www.mytju.com/classcode/tools/urlencode_gb2312.asp
- Composer 入门使用手册
依赖管理 官网地址:http://docs.phpcomposer.com/00-intro.html#Locally Composer 不是一个包管理器.是的,它涉及 "packages& ...
- 关于JAVA一些知识的了解
一.枚举类型 示例代码: public class EnumTest { public static void main(String[] args){ Size s=Size.SMALL; ...
- Android开发中dp、dpi、px的区别(转)
一.基本概念 - dp:安卓中的相对大小 - dpi:(dot per inch)每英寸像素多少 - px:像素点 二.详细说明 1.px和dpi - px: 平常所说的1920×1080只是像素数量 ...