zoukankan      html  css  js  c++  java
  • MySQL之定时备份及还原

      最近update 自动化测试数据库的某个表的数据(一些修改其他数据库的SQL)时,发现where条件还漏了一些(400+条SQL就这样被误操作了)。。。而且之前没有对自动化测试的数据库进行备份。。。。
      简单记录下这次的备份操作。。
     
    要备份的数据库部署在Linux上:
    1.切换到安装MySQL(不记得的话,可以用whereis mysql查找)的bin目录:
    2.使用bin目录下的mysqldump工具进行数据库备份:
    1)备份表和数据:
    ./mysqldump -h数据库所在ip -uroot -p密码 -P3306 库名 >/root/Desktop/MySQLbackup/backdata.sql

    2)备份存储过程和函数:

    ./mysqldump -h数据库所在ip -uroot -p密码 -P3306 -R -ndt --triggers=false 库名>/root/Desktop/MySQLbackup/backprocedure.sql

     注:

    1)还原存储过程时,会报错

    故备份存储过程时,加上--triggers=false

    还原备份的数据(以Windows为例):
    1.同样切换到安装MySQL的bin目录下:
    cd C:Program FilesMySQLMySQL Server 5.7in

    2.还原数据(还原表、数据及存储过程的命令一样,只需修改要备份好的SQL文件)

    mysql 库名 --default-character-set=utf8 -u 账号 -p密码<G:备份SQL路径ackdata.sql

    注:

    1)因为还原时报错 
    ,所以加了--default-character-set=utf8 

    添加定时任务:

    # 备份前把前一天备份的数据移到另一个目录
    30 17 * * * mkdir /root/Desktop/MySQLbackup1;mv /root/Desktop/MySQLbackup/*.sql /root/Desktop/MySQLbackup1
    
    # 备份数据
    20 18 * * * /usr/java/mysql/bin/mysqldump -h要备份数据ip -uroot -p数据库密码. 要备份的库 > /root/Desktop/MySQLbackup/backdata$(date +"\%Y\%m\%d").sql
    
    # 备份存储过程
    20 18 * * * /usr/java/mysql/bin/mysqldump -h要备份数据ip -uroot -p数据库密码. -R -ndt --triggers=false 要备份的库> /root/Desktop/MySQLbackup/backpro$(date +"\%Y\%m\%d").sql
    
    # 检查当天是否备份成功,并删除前一天数据的脚本
    30 19 * * * /root/delLastBacSQL.sh 
     
    # delLastBacSQL.sh的具体内容:
    
    backdata=/root/Desktop/MySQLbackup/backdata$(date +"%Y%m%d").sql
    backpro=/root/Desktop/MySQLbackup/backpro$(date +"%Y%m%d").sql
    if [[ -e $backdata && -e $backpro ]]
            then `rm -rf /root/Desktop/MySQLbackup1`
            echo success
    else
            echo fail
    fi  
    

      

    参考资料:
    https://www.2cto.com/database/201211/168571.html
    https://www.jianshu.com/p/984e876706b1
  • 相关阅读:
    HDFS镜像文件的解析与反解析
    HDFS镜像文件的解析与反解析
    Nginx将通过IP访问重定向
    Nginx反向代理导致PHP获取不到正确的HTTP_HOST,SERVER_NAME,客户端IP的解决方法
    PHP个人常用函数封装
    apache禁止公网IP访问的配置
    Linux查看端口被哪个进程占用
    Nginx负载均衡配置
    Nginx反向代理配置文件
    Apache多端口配置
  • 原文地址:https://www.cnblogs.com/minerrr/p/9316985.html
Copyright © 2011-2022 走看看