zoukankan      html  css  js  c++  java
  • MySQL数据库备份脚本

    环境:

    • mysql 5.7
    • centos7
    • 数据库管理账号密码
    • 数据库名称
    • 数据备份存储的目录

    具体脚本
    vi db_backup.sh
    以下为脚本具体内容

    #!/bin/bash
    
    #define backup minute
    DATE=`date +%Y%m%d%H%M`
    #database name
    DATABASE=jumpserver
    #database username
    DB_USERNAME=dba_username
    #database password
    DB_PASSWORD="myDb_P@ssw0rd"
    #backup path
    BACKUP_PATH=/mysqlbackup/
    #backup command
    /usr/local/mysql/app/mysql/bin/mysqldump -u $DB_USERNAME -p$DB_PASSWORD -h 127.0.0.1 -P 3306 -R --opt $DATABASE | gzip > ${BACKUP_PATH}/${DATABASE}_${DATE}.sql.gz
    #just backup the latest 30 days
    find ${BACKUP_PATH} -name "*.sql.gz" -type f -mtime +30 -exec rm -rf {} ; > /dev/null 2>&1
    

    把以上db_backup.sh放入到/etc/crontab中,每日执行

    参数说明

    • mysqldump 参数 -R (–routines:导出存储过程以及自定义函数)

    • Mysqldump 参数 --opt
      mysqldump -uroot -p --opt DATABASENAME [Table] > xxx.sql

    默认Mysqldump导出的SQL文件中不但包含了导出的数据,还包括导出数据库中所有数据表的结构信息。

      –opt:此Mysqldump命令参数是可选的,如果带上这个选项代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables参数,也就是通过–opt参数在使用Mysqldump导出Mysql数据库信息时不需要再附加上述这些参数。

      –quick:代表忽略缓冲输出,Mysqldump命令直接将数据导出到指定的SQL文件。

      –add-drop-table:顾名思义,就是在每个CREATE TABEL命令之前增加DROP-TABLE IF EXISTS语句,防止数据表重名。

      –add-locks:表示在INSERT数据之前和之后锁定和解锁具体的数据表,你可以打开Mysqldump导出的SQL文件,在INSERT之前会出现LOCK TABLES和UNLOCK TABLES语句。

      –extended-insert (-e):此参数表示可以多行插入。

    本人水平有限,还在不断学习中 难免有很多错误或者遗漏,望见谅
  • 相关阅读:
    SSL 数据加密原理简述
    MQTT 协议 部分细节
    ARM汇编--汇编中符号和变量
    Kconfig 配置文件编码规则
    ARM汇编指令-STMFD/LDMFD
    python类属性和对象属性、类的普通方法和静态方法
    ARM汇编---程序获取符号的物理地址
    Spring源码分析:非懒加载的单例Bean初始化前后的一些操作
    Spring源码分析:非懒加载的单例Bean初始化过程(下)
    Spring源码分析:非懒加载的单例Bean初始化过程(上)
  • 原文地址:https://www.cnblogs.com/faberbeta/p/15001821.html
Copyright © 2011-2022 走看看