• ADADADADAD

    mysqldump备份指定mysql数据库脚本[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:58:36

    作者:文/会员上传

    简介:

    前几天有朋友让帮忙写一个mysql数据备份脚本,于是就有了下文通过mysqldump命令备份数据库的脚本,贴出来跟大家交流,若有问题,请指正,谢谢。实现功能: 1 备份指定的数据库
    2 删除

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    前几天有朋友让帮忙写一个mysql数据备份脚本,于是就有了下文通过mysqldump命令备份数据库的脚本,贴出来跟大家交流,若有问题,请指正,谢谢。

    实现功能:

    1 备份指定的数据库

    2 删除指定天数前的备份文件,默认设定了7天

    #!/bin/bash##文件名:mysql_bak.sh##数据库备份文件的目录,若没有请创建目录或指定备份目录BACKUP_DIR="/bak/mysqlbak"#指定mysql所在主机的主机名DB_HOSTNAME='hostname'#指定mysql登录用户名DB_USERNAME='backupuser'#指定mysql登录密码DB_PASSWORD='password'#指定备份的数据库名DB_NAME="dbname"#定义当前日期为变量CURRENT_DATE=$(date+"%Y%m%d$H")#定义删除N天前的文件变量DEL_DAYS_BEFORE_FILES=7#指定mysqldump所在目录MYSQLDUMP_DIR="/usr/bin"#备份指定数据库if$($MYSQLDUMP_DIR/mysqldump-h${DB_HOSTNAME}-u${DB_USERNAME}-p${DB_PASSWORD}${DB_NAME}>"${BACKUP_DIR}/${DB_NAME}_${CURRENT_DATE}.sql");thencd${BACKUP_DIR}gzip${DB_NAME}_${CURRENT_DATE}.sqlecho"${CURRENT_DATE}--Backupdatabase${DB_NAME}successfully!"elseecho"${CURRENT_DATE}--Backupdatabase${DB_NAME}unsuccessfully"fi#删除指定N天前的备份文件find${BACKUP_DIR}-name"${DB_NAME}_*.sql.gz"-typef-mtime+${DEL_DAYS_BEFORE_FILES}-execrm{}\;>/dev/null2>&1


    关于mysql备份脚本的使用说明:

    1 备份操作是使用mysqldump命令完成,默认设置保留近7天备份文件

    2 建议创建备份使用的用户 backupuser(host字段建议指定IP)

    >CREATE USER 'backupuser'@'%' IDENTIFIED BY 'password';

    >GRANT SELECT,LOCK TABLES,FILE,RELOAD ON *.* TO 'backupuser'@'%';

    (个人认为这些权限足够了,若不够自行添加)

    3 注意需要在脚本中指定数据库备份目录

    4 赋予脚本执行权限

    $chmod +x mysql_bak.sh

    5 创建定时任务,比如每天凌晨两点执行备份操作

    Redhat下操作

    $crontab -e

    # $PWD是指备份脚本所在路径

    # $BACKUP_DIR是指数据库备份目录

    *2 * * * $PWD/mysql_bak.sh &> $BACKUP_DIR/mysql_bak.log

    注意:运行脚本用户对所操作目录的权限设置。


    mysqldump备份指定mysql数据库脚本.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: 备份mysql脚本