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 上进行备份的更多相关文章

  1. mysql数据库使用mysqldump工具针对一个数据库备份,使用--databases选项与不使用该参数的区别

    需求描述: 今天在做mysqldump备份某个数据库的试验,在备份某个数据库的时候可以使用 --databases参数,也可以直接进行某个数据库的备份,那么这里记录下两者的区别 操作过程: 1.使用- ...

  2. mysql备份脚本-mysqldump

    背景:全库备份 备份流程: 1.生成DB列表,将DB名字写入文件 2.定义备份函数,结果写入SQL文件 3.压缩文件,减少磁盘占用量 4.设置保留天数,定期删除n天之前的 5.通过for循环读取DB列 ...

  3. 【转】【MySql】脚本备份数据库

    #!/bin/bash #this is a script of mysql backup if [ ! -d /mydata/data1/backup ] ;then mkdir /mydata/d ...

  4. MySQL(十五)之数据备份中mysqldump详解

    前言 其实前面一篇数据备份已经是非常的详细了,这里我想单独的讲解一下mysqldump,相信很多程序员都是用过这个命令的! 一.MySQL数据库的备份与还原 1.1.MySQL数据库备份 1)语法 m ...

  5. 【MySql】脚本备份数据库

    #!/bin/bash #this is a script of mysql backup #Mysql="mysql" #MysqlDump="mysqldump&qu ...

  6. weblogic域备份脚本

    一直一来,由于空间问题,weblogic域很少备份,偶尔会手动备份一次,这运维做得不称职,今天有时间,写个小脚本来定时备份. 1.脚本备份文件目录结构 [weblogic@mylinux ~]$ tr ...

  7. mysql线上一个定时备份脚本

    数据库服务使用的是阿里云的mysql,远程进行定时的全量备份,备份到本地,以防万一.mysql数据库远程备份的数据最好打包压缩: [root@huanqiuPC crontab]# pwd/Data/ ...

  8. 备份 MySQL 的 shell 脚本(mysqldump版本) shell脚本

    #!/bin/bash # 备份 MySQL 的 shell 脚本(mysqldump版本) # 定义变量 user(数据库用户名),passwd(数据库密码),date(备份的时间标签) # dbn ...

  9. linux centeros 通过 innoback 工具备份mysql 5.7 全库并自动压缩zip上传到备份服务器的脚本,附自动清理过期备份

    innoback 安装见连接:https://blog.csdn.net/fanren224/article/details/79693863 脚本解析后续将更新 181024:更新添加定期清理备份的 ...

随机推荐

  1. 聚合 key-value 转为 key-valueList

    一个文件A.tmp的内容如下: 10.9.20.1 m1 10.9.20.2 m1 10.9.20.3 m1 10.9.20.1 m2 10.9.20.2 m2 10.9.20.3 m2 想输出格式为 ...

  2. [Android]动态加载/热部署框架汇总

    1.DroidPlugin 用途:动态加载 使用案例:360手机助手 GitHub地址:https://github.com/Qihoo360/DroidPlugin ppt介绍:https://gi ...

  3. 单选框radio 选择问题

    <input type="radio"  name="test"/> <input type="radio"  name= ...

  4. 域名解析中TTL是什么意思

    在做域名解析的时候都会看到一个叫“TTL”的值,一般都有一个默认的值,不过不同注册商默认的值也会不一样,常见的是3600和7200这两个值. 另外ping的时候也可以看到“TTL=XXX”的字样,(如 ...

  5. File类之在指定目录中查找文件

    package IoDemo; import java.io.File; /** * @Title:FileDemo2 * @Description:在指定的目录中查找文件 * @author Cra ...

  6. 导入别人struts2项目可能要做的改变

    然后: 接着 再接着 最后

  7. Linux01

    Linux的特点 1.免费的/开源 2.支持多线程./多用户的(这是操作系统性能的重要指标) 3.安全性好 4.对内存和文件管理优越. 1999年,IBM宣布与Redhat公司建立伙伴关系. Linu ...

  8. 从性能的角度谈SQL Server聚集索引键的选择

      简介 在SQL Server中,数据是按页进行存放的.而为表加上聚集索引后,SQL Server对于数据的查找就是按照聚集索引的列作为关键字进行了.因此对于聚集索引的选择对性能的影响就变得十分重要 ...

  9. poj 1300 欧拉图

    http://poj.org/problem?id=1300 要不是书上有翻译我估计要卡死,,,首先这是一个连通图,鬼知道是那句话表示出来的,终点必须是0,统计一下每个点的度数,如果是欧拉回路那么起点 ...

  10. ES6环境配置

    1.电脑有node环境,运行npm init 2.cnpm i -D babel-core babel-preset-es2015 babel-preset-latest 3.创建.babelrc文件 ...