mysqldump备份指定mysql数据库脚本

前几天有朋友让帮忙写一个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");then
cd ${BACKUP_DIR}
gzip ${DB_NAME}_${CURRENT_DATE}.sql
echo "${CURRENT_DATE}--Backup database ${DB_NAME} successfully!"
else
echo "${CURRENT_DATE}--Backup database ${DB_NAME} unsuccessfully"
fi
#删除指定N天前的备份文件
find ${BACKUP_DIR} -name "${DB_NAME}_*.sql.gz" -type f -mtime +${DEL_DAYS_BEFORE_FILES} -exec rm {} \; > /dev/null 2>&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

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

时间: 2024-08-25 11:51:01

mysqldump备份指定mysql数据库脚本的相关文章

mysql自动备份工具单机版 定时备份指定mysql数据库

1.如果发现下载地址不能下载,请多试几个下载地址!安装及使用时出现问题,安装方法与使用教程请到官方网站获取或搜索. 2.为了保证您享受到最快的下载速度,推荐安装迅雷下载工具.如果下载后出现不能解压,请安装winrar等解压缩包软件! 3.如果下载的压缩包文件需要解压密码,网址就是解压密码:www.ouyaoxiazai.com 4.本站不提供该下载软件的破解版,注册机,注册码,序列号,注册密钥,激活码,等相关信息下载以及咨询! 原文地址:https://www.cnblogs.com/SyncN

mysqldump常用于MySQL数据库逻辑备份

mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句. B. --opt 如果加上--opt参数则生成的du

xtrabackup备份还原MySQL数据库

原文:xtrabackup备份还原MySQL数据库 mysqldump 备份鉴于其自身的某些特性(锁表,本质上备份出来insert脚本或者文本,不支持差异备份),不太适合对实时性要求比较高的情况Xtrabackup可以解决mysqldump存在的上述的一些问题,生产环境应用的也会更多一些.本文简单测试一下Xtrabackup对MySQL数据库的备份还原操作. 本着先把功能先撸起来再深入细节的原则,粗略地实现了一个备份还原,并未深入细节. 网上有不少xtrabackup的文章,因为环境不一样,有些

mysqldump导入导出mysql数据库

body{ font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;}

使用mysqldump导入导出MySQL数据库

数据库的基本导入\导出的命令 是 mysqldump 和 source 在linux下直接用命令行操作就可以 在windows下 一般情况下有两种方法一个也是用命令行 另一个是用phpmyadmin 先 来说说phpmyadmin 这个工具导出和导入很简单 而且导入时无需建库 直接还原成原来的数据库 用source 也可以还原 但他导入文件时有大小限制不能超过2M 再来说说 mysqldump 和 source 用命令操作很快 但是想把导出的文件再导入时必须先建立一个数据库(这个库可以随便起名)

C#备份还原MySql数据库

原文:C#备份还原MySql数据库 项目结束,粘点代码出来让Google或Baidu一下,原因是现在还搜不到这么现成的 调用MySql的工具mysqldump来实现. 类Cmd来实现调用cmd命令, 要启动的进程所在的目录是说mysql自动的备份还原数据库工具mysqldump和mysql所在目录,当然,这个方法可以执行别的命令行工具. using System; using System.Collections.Generic; using System.Text; using System.

备份恢复MySQL数据库的命令

备份恢复MySQL数据库的命令 备份:mysqldump -hhostname -P 3306 -uusername -ppassword databasename > D:/backupfile.sql 恢复:mysqldump -hhostname -P 3306 -uusername -ppassword databasename < D:/backupfile.sql

sql语句备份/导入 mysql数据库或表命令

sql语句备份/导入 mysql数据库或表命令,布布扣,bubuko.com

思维导图学 Linux Shell攻略之干货篇 mysql数据库脚本管理系统

以结果为导向的学习,才是最有效率学习.笔者以前也曾经隔三差五的学习linux shell编程来着.给我的感觉就是,今天学了,后天忘了,一星期之后就白学了. 还好,最近自己平时没啥事,一直照着<linux shell攻略>,学做一些小例子,看着自己写的shell程序,简单的几行程序,实现一些好玩的效果,信心满满.不知不觉间,慢慢坚持了2周. 说说自己的干货吧.其实就是一个linux 操作mysql数据库脚本管理系统. 功能谈不上复杂,就是在平时工作中,笔者要维护多套业务系统,这些业务系统主要功能