mysqldump数据备份
#!/bin/bash
# MYSQLDBUSERNAME是MySQL数据库的用户名,可自定义
MYSQLDBUSERNAME=root
# MYSQLDBPASSWORD是MySQL数据库的密码,可自定义
MYSQLDBPASSWORD=password
# MYSQBASEDIR是MySQL数据库的安装目录,--prefix=$MYSQBASEDIR,可自定义
MYSQBASEDIR=/usr/local/mysql
# MYSQL是mysql命令的绝对路径,可自定义
MYSQL=$MYSQBASEDIR/bin/mysql
# MYSQLDUMP是mysqldump命令的绝对路径,可自定义
MYSQLDUMP=$MYSQBASEDIR/bin/mysqldump
# BACKDIR是数据库备份的存放地址,可以自定义修改成远程地址
BACKDIR=/var/backup/db
# 获取当前时间,格式为:年-月-日,用于生成以这种时间格式的目录名称
DATEFORMATTYPE1=$(date +%Y-%m-%d)
# 获取当前时间,格式为:年月日时分秒,用于生成以这种时间格式的文件名称
DATEFORMATTYPE2=$(date +%Y%m%d%H%M%S)
# 如果存在MYSQBASEDIR目录,则将MYSQDATADIR设置为$MYSQBASEDIR/data,具体是什么路径,就把data改成什么路径,否则将MYSQBASEDIR设定为/var/lib/mysql,可自定义
[ -d $MYSQBASEDIR ] && MYSQDATADIR=$MYSQBASEDIR/data || MYSQDATADIR=/var/lib/mysql
# 如果mysql命令存在并可执行,则继续,否则将MYSQL设定为mysql,默认路径下的mysql
[ -x $MYSQL ] || MYSQL=mysql
# 如果mysqldump命令存在并可执行,则继续,否则将MYSQLDUMP设定为mysqldump,默认路径下的mysqldump
[ -x $MYSQLDUMP ] || MYSQLDUMP=mysqldump
# 如果不存在备份目录则创建这个目录
[ -d ${BACKDIR} ] || mkdir -p ${BACKDIR}
[ -d ${BACKDIR}/${DATEFORMATTYPE1} ] || mkdir ${BACKDIR}/${DATEFORMATTYPE1}
# 获取MySQL中有哪些数据库,根据mysqldatadir下的目录名字来确认,此处可以自定义,TODO
DBLIST=`ls -p $MYSQDATADIR | grep / |tr -d /`
# 从数据库列表中循环取出数据库名称,执行备份操作
for DBNAME in $DBLIST# mysqldump skip one table# -- Warning: Skipping the data of table mysql.event. Specify the --events option explicitly.# mysqldump --ignore-table=mysql.event# http://serverfault.com/questions/376904/mysqldump-skip-one-table# --routines,备份存储过程和函数# --events,跳过mysql.event表# --triggers,备份触发器# --single-transaction,针对InnoDB,在单次事务中通过转储所有数据库表创建一个一致性的快照,此选项会导致自动锁表,因此不需要--lock-all-tables# --flush-logs,在dump转储前刷新日志# --ignore-table,忽略某个表,--ignore-table=database.table# --master-data=2 ,如果启用MySQL复制功能,则可以添加这个选项# 将dump出的sql语句用gzip压缩到一个以时间命名的文件do ${MYSQLDUMP} --user=${MYSQLDBUSERNAME} --password=${MYSQLDBPASSWORD} --routines --events --triggers --single-transaction --flush-logs --ignore-table=mysql.event --databases ${DBNAME} | gzip > ${BACKDIR}/${DATEFORMATTYPE1}/${DBNAME}-backup-${DATEFORMATTYPE2}.sql.gz# 检查执行结果,如果错误代码为0则输出成功,否则输出失败[ $? -eq 0 ] && echo "${DBNAME} has been backuped successful" || echo "${DBNAME} has been backuped failed"# 等待5s,可自定义/bin/sleep 5
done
执行结果:
[root@htvm ~]# ./backupmysqlbydate.sh
mysql has been backuped successful
test has been backuped successful
[root@htvm ~]# ls /var/backup/db/2015-07-27/
mysql-backup-20150727195515.sql.gz test-backup-20150727195515.sql.gz
[root@htvm ~]#
明细命令:
Mysql之dump数据备份命令大全 - 哔哩哔哩
mysqldump数据备份相关推荐
- mysql dump 增量_mysql mysqldump数据备份和增量备份
本篇文章主要讲如何使用shell实现MysqL全量,增量备份.增量备份在周一-周六凌晨3点,会复制MysqL-bin.00000*到指定目录:而全量备份则使用MysqLdump将所有的数据库导出,每周 ...
- Winform中实现连接Mysql8使用mysqldump实现备份表的数据
场景 Winform中连接Mysql8并查询表中数据进行显示: Winform中连接Mysql8并查询表中数据进行显示_BADAO_LIUMANG_QIZHI的博客-CSDN博客 在上面实现连接Mys ...
- mysqldump 常用备份选项,只备份数据或结构的方法
mysqldump 常用备份选项,只备份数据或结构的方法, 常见选项: --all-databases, -A: 备份所有数据库 --databases, -B: 用于备份多个数据库,如果没有该选项, ...
- mysqldump 定时备份数据(全量)
MYSQL 数据库备份有很多种(cp.tar.lvm2.mysqldump.xtarbackup)等等,具体使用哪一个还要看你的数据规模.下面给出一个表 #摘自<学会用各种姿态备份Mysql数据 ...
- mysqldump实现数据备份及灾难恢复
目录 1.测试环境介绍 2.备份策略 3.备份 4.灾难恢复 5.总结 1.测试环介绍 mysql> SELECT VERSION(); +------------+ | VERSION() | ...
- 04-mysql数据备份之mysqldump命令详解
MYSQL数据备份之mysqldump命令详解 一.mysqldump 简介 mysqldump 是 MySQL 自带的逻辑备份工具. 它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数 ...
- mysqldump命令备份数据 mysql备份数据
一. mysqldump命令备份数据 二. mysqldump常用操作示例 三. 还原 MySQL 备份内容 1.编写BASH维护固定数量备份文件 2.使用crontab定期执行备份脚本 2.1 cr ...
- MYSQL数据备份之mysqldump命令详解(附脚本定时备份)
一.常见备份命令介绍 备份命令 备份速度 恢复速度 介绍 功能 一般用于 cp 快 快 物理备份.灵活性低 很弱 少量数据备份 mysqldump 慢 慢 逻辑备份.适用所有存储引擎 一般 中小型数据 ...
- mysql 数据备份(mysqldump)
mysql 数据备份(mysqldump) ************************* mysqldump 使用 命令格式 root@7a72b2ffd688:/# mysqldump --h ...
最新文章
- Java项目:健身器材商城系统(java+Jdbc+Servlet+Ajax+Fileupload+mysql)
- SQL Server 2005 For XML[学习]
- Android 获取系统或SDCARD剩余空间信息
- 被骂了三年,谷歌Dropout专利还是生效了,卡脖子预警
- vim在每行行首或行尾添加/删除内容
- VIP - virtual IP address
- 基本配置2-被忽悠进了CentOS 6
- 小甲鱼OD学习第15-16讲
- Python精通-Python字符串格式化操作
- 做空指控不成立 百度收购YY直播已基本完成
- 杭电1466计算直线的交点数
- Linux中脚本的使用方法
- oracle中rollup函数与mysql中with rollup区别
- 十三届蓝桥杯EDA省赛赛后感
- Spring Bean的作用域
- 免费好用的节假日API
- vc 判断哪个按键 被按下 消息 按键 状态
- 心知天气天气状况获取,ESP32获取天气信息(含源码)
- 测试人生 | 疫情之下工资翻了2倍多,这4个月学习比工作8年学到的还多
- 图像的上采样(upsampling)与下采样(subsampled)
热门文章
- 对于计算机病毒的潜伏性正确的说法是,对于计算机病毒的潜伏性,正确的说法是()...
- 火狐浏览器Firefox如何导出导入书签页
- python3.7中RSA加密遇到的问题
- nginx 正反向代理
- 用c语言处理bmp开运算,c语言解析bmp图片
- linux数据泄露,Linux Kernel 5.9.1 及更早版本发现数据泄露和特权升级漏洞,需尽快升级...
- python里class转换_python实现class对象转换成json/字典的方法
- 用html5构建兼容iE6的网页
- HTML弹性布局基础讲解(一)
- LVS负载均衡之DR模式