首页 > 数据库技术 > 详细

MySQL数据库备份脚本

时间:2021-07-12 15:37:05      阅读:27      评论:0      收藏:0      [点我收藏+]

环境:

  • 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):此参数表示可以多行插入。

MySQL数据库备份脚本

原文:https://www.cnblogs.com/faberbeta/p/15001821.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!