liunx服务器mysql定时备份

本文介绍了如何在Linux服务器上利用mysqldump进行MySQL数据库的定时备份,包括创建备份脚本、赋予执行权限以及设置Cron定时任务的方法。同时,文章也对mysqldump的使用进行了详细说明。
摘要由CSDN通过智能技术生成
liunx服务器mysql定时备份
  • 创建脚本,文件路径:/usr/sbin/bakmysql.sh

    #!/bin/bash
    # DATE=`date +%Y%m%d%H%M` #every minute
     DATABASE=wechat #database name
     DB_USER=root #database username
     DB_PASS="密码" #database password
     BACKUP=/mnt/data/back/mysqldata #backup path
     DATE=`date +%Y%m%d%H%M`                #every minute
     
     #backup command
     #测试
     #/usr/bin/mysqldump -uroot -p"密码" -h 127.0.0.1 -R --opt $DATABASE |gzip > /mnt/data/back/mysqldata\/ei_2018061303.sql.gz
     
     /usr/bin/mysqldump -u$DB_USER -p$DB_PASS -h 127.0.0.1 -R --opt $DATABASE |gzip > ${BACKUP}\/${DATABASE}_${DATE}.sql.gz
     
     #just backup the latest 5 days 
     #测试:find /data/bak/mysqldata -name "ei_*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&
     
     find ${BACKUP} -name "${DATABASE}_*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1
    
  • 测试脚本 : sh /usr/sbin/bakmysql.sh

  • 添加可执行权限:chmod u+x /usr/sbin/bakmysql.sh

  • 查看权限 ls -l bakmysql.sh

  • 设置定时任务
    添加任务: crontab -e

     00 03 * * * /usr/sbin/bakmysql.sh
    

    查看任务:crontab -l

mysqldump使用详解
  • 参考
    -A 备份所有的database
    -B 备份哪几个数据库
    -R 备份存储过程(-- routines)
    -E 备份定时任务(-- events)
    -d 只备份表结构
    -w 备份过滤数据
    -t 只备份数据
    -q 直接读数据,绕过缓冲池,默认已加
    --triggers 备份触发器
    --master-data=2 在备份文件中以注释的形式记录备份开始时binlog的position,默认值是1,不注释
    
    tips:
    ①--set-gtid-purged=OFF 如果实例开了gtid最好加上这个参数,不然备份时候会报warning,且备份出来的数据恢复到其他版本的实例上会报错:A partial dump from a server that has GTIDs is not allowed.
    ②--dump-slave,该参数可以用作在从库做备份获取主库的位置点,来做一个新从库,避免在主库做备份影响业务,带该参数备份时,从上sql线程会被kill,备份完再拉起
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值