zoukankan      html  css  js  c++  java
  • 自建单机MySQL数据库备份方案

    一、环境

      环境:Centos 6.5 ,MySQL 5.7.22, yum install 命令安装

    二、备份

    指定备份路径,指定 --master-data=2 参数备份时输出 MASTER_LOG_POS 位置信息

    备份脚本:

     1 #!/bin/bash
     2 
     3 backup_path=/home/app/bak_mysql
     4 password="password"
     5 
     6 err() {
     7     echo "[$(date +'%Y-%m-%d %H:%M:%S')]: $@" >&2 >>${backup_path}/fail_$(date +%Y%m%d).log
     8 }
     9 #错误后打印错误信息生成日志
    10 
    11 mysqldump -uroot -p${password} --opt -R --events --triggers=true
    12     --master-data=2 --single-transaction databaseName --ignore-table=databaseName.t_attachment
    13     | gzip > ${backup_path}/backup_$(date +%Y%m%d).sql.gz
    14 #备份同时压缩
    15 
    16 if [ $? -ne 0 ];then
    17     err $?
    18     exit
    19 fi

    三、定时任务:

    1.  查看定时任务
    crontab 命令选项基本只对用户操作的选项:
    -u 指定一个用户
    -l 列出某个用户的任务计划
    -r 删除某个用户的任务
    -e 编辑某个用户的任务
    示例:
      查看指定用户的定时任务
    [root@daf  ~]# crontab -u username -l
    no crontab for vfit
      要查看所有用户的,只能根据 /etc/passwd 文件中的用户名一一列举了,可以用脚本。
    for u in `cat /etc/passwd | cut -d":" -f1`;do crontab -l -u $u;done

      给指定用户创建定时任务

    1 [root@*** ~]# crontab -u username -e
    2 no crontab for username - using an empty one
    3 crontab: installing new crontab
    4 [root@*** ~]# crontab -u username -l
    5 0 2 */2 * * /home/username/backup_mysql/backup_mysql.sh
    若指定用户无权限操作指定脚本则需进行授权: chmod u+x backup_mysql.sh 
    定时任务日志文件目录:/var/log/cron

    三、恢复方案

      1、准备好最新的备份文件进行全量恢复

      2、找出增量文件

      3、恢复数据

    1 [vfit@iZ946xtgmogZ bak_mysql]$ grep MASTER_LOG_POS bak.sql
    2 -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=1633307;
    3 
    4 [vfit@iZ946xtgmogZ bak_mysql]$ mysqlbinlog --no-defaults --database=bak --start-position=1633307 /var/lib/mysql/mysql-bin.000004 > ~/addbak.sql
    5 //删除问题语句 执行恢复代码
    6 [vfit@iZ946xtgmogZ bak_mysql]$ mysql -uroot -pgo2020@Vfangtuan bak < ~/bak.sql
    7 [vfit@iZ946xtgmogZ bak_mysql]$ mysql -uroot -pgo2020@Vfangtuan bak < ~/addbak.sql

      错误语句示例:

  • 相关阅读:
    OpenCV实现基于傅里叶变换的旋转文本校正
    【来龙去脉系列】QRCode二维码的生成细节和原理
    软件License设计
    常见加密算法简析
    【来龙去脉系列】RSA算法原理
    单目相机标定原理
    CYQ.Data 支持 PostgreSQL 数据库
    ASP.NET Aries 高级开发教程:主题样式及多语言(标签化控制)
    ASP.NET Aries 高级开发教程:Excel导入之代码编写(番外篇)
    ASP.NET Aries 高级开发教程:Excel导入配置之规则说明(下)
  • 原文地址:https://www.cnblogs.com/gdwkong/p/13218452.html
Copyright © 2011-2022 走看看