mysql数据库的全量备份

mysql数据库的全量备份,包括数据和结构。保存最新的10次备份。

  准备工作

  创建备份主目录

  mkdir  /backup

  一:编写脚步文件mysql_backup.sh


#!/bin/sh

# mysql_backup.sh: 备份mysql数据信息,并且只保留最新的10份.

#数据库用户名

db_user="root"

#数据库密码

db_passwd="imsuser"

#数据库IP

db_host="localhost"

#数据库名

db_name="ims"

#数据库备份信息保存位置.

backup_dir="/backup/mysqldata"

#文件保存日期格式 (dd-mm-yyyy)

time="$(date +"%d-%m-%Y")"

# mysql, mysqldump所在目录,不同的安装会有不同目录

#如果只对数据进行备份,可以不用填写

MYSQL="/usr/local/mysql/bin/mysql"

MYSQLDUMP="/usr/local/mysql/bin/mysqldump"

MKDIR="/bin/mkdir"

RM="/bin/rm"

MV="/bin/mv"

GZIP="/bin/gzip"

#检查备份目录 不存在进行存储主目录创建

test ! -w $backup_dir && $MKDIR "$backup_dir"

# 检查备份目录 不存在进行存储副目录创建

test ! -d "$backup_dir/backup.0/" && $MKDIR "$backup_dir/backup.0/"

# 获取所有的数据库信息

#all_db="$($MYSQL -u $db_user -h $db_host -p$db_passwd -Bse 'show databases')"

#for db in $all_db

#do

$MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db_name | $GZIP -9 > "$backup_dir/backup.0/$time.$db_name.gz"

#done

# 删除旧的备份信息

test -d "$backup_dir/backup.10/" && $RM -rf "$backup_dir/backup.10"

# rotate backup directory

for int in 9 8 7 6 5 4 3 2 1 0

do

if(test -d "$backup_dir"/backup."$int")

then

next_int=`expr $int + 1`

$MV "$backup_dir"/backup."$int" "$backup_dir"/backup."$next_int"

fi

done

exit 0;

  二:赋予脚步可执行权限

  chmod +x mysql_backup.sh

  三:添加定时执行计划

  vi /etc/crontab

  添加:00 5 * * * root /backup/mysql_backup.sh 每日5点钟备份一次数据库

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-08 23:45:47

mysql数据库的全量备份的相关文章

Linux系统mysql5.7数据库的全量备份和增量备份shell实例

曾经之前也有写过类似mysql全量和增量备份脚本,不过过于简单.昨天晚上给公司线上服务器写了个针对mysql5.7的,相对来讲更为优化的一个实例. 注:这个脚本仅仅适合小型数据库,不适合中大型数据库.毕竟是逻辑备份方式,数据库过大导入会比较慢,建议采用innobackupex方式备份,包括我自己服务器也是采用的innobackupex. 全量备份脚本: #!/bin/bash #bak mysql all # v1.0 #2016.8.4 TIME=`date +%Y%m%d_%H%M%S` L

基于Solr DIH实现MySQL表数据全量索引和增量索引

实现MySQL表数据全量索引和增量索引,基于Solr DIH组件实现起来比较简单,只需要重复使用Solr的DIH(Data Import Handler)组件,对data-config.xml进行简单的修改即可.Solr DIH组件的实现类为org.apache.solr.handler.dataimport.DataImportHandler,在Solr的solrconfig.xml中配置两个handler,配置分别说明如下. 全量索引 solrconfig.xml配置如下: 1 <reque

Greenplum的全量备份介绍, gpcrondump

本节介绍一下Greenplum的全量备份.全量备份脚本 #!/bin/bash GPHOME=/home/digoal/gphome # Replace with symlink path if it is present and correct if [ -h ${GPHOME}/../greenplum-db ]; then GPHOME_BY_SYMLINK=`(cd ${GPHOME}/../greenplum-db/ && pwd -P)` if [ x"${GPHOM

VMware 虚拟化编程(11) — VMware 虚拟机的全量备份与增量备份方案

目录 目录 前文列表 全量备份数据的获取方式 增量备份数据的获取过程 前文列表 VMware 虚拟化编程(1) - VMDK/VDDK/VixDiskLib/VADP 概念简析 VMware 虚拟化编程(2) - 虚拟磁盘文件类型详解 VMware 虚拟化编程(3) -VMware vSphere Web Service API 解析 VMware 虚拟化编程(4) - VDDK 安装 VMware 虚拟化编程(5) - VixDiskLib 虚拟磁盘库详解之一 VMware 虚拟化编程(6)

使用Xtrabackup全量备份和恢复mysql数据库

一.Xtrabackup简单概述: Percona  Xtrabackup是开源免费的mysql数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁).XtraBackup支持所有的Percona Server.MySQL.MariaDB和Drizzle. XtraBackup优势 : 1.无需停止数据库进行InnoDB热备 2.增量备份MySQL 3.流压缩到传输到其它服务器 4.能比较容易地创建主从同步 5.备份MySQL时不会

mysql数据库中innobackupex xtrabackup备份/还原

大数据量备份与还原,始终是个难点.当MYSQL超10G,用mysqldump来导出就比较慢了.在这里推荐xtrabackup,这个工具比mysqldump要快很多. 1.Xtrabackup介绍 1,Xtrabackup是什么 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex 1.xtraback

php实现mysql数据库分表分段备份_php实例

分卷导出思路:统计sql语句变量的长度,按1个字符当成1 字节比较,如果大于设定分卷大小,则写入一个sql文件(我也不知道这样统计是否稳当,这也是借鉴其他的人的). 分卷导入思路:按行读取sql文件,将每一行当作完整的sql语句存到数组再循环执行插入数据库就可以了,但是在创建表语句分了多行,这个需要单独处理(就这个花了我好长时间的): <?php //宋正河 转载请注明出处 set_time_limit(0); header('content-type:text/html;charset=utf

两mysql数据库同步实现异步备份方法

1.服务器状态 服务器A:192.168.1.1 服务器B:192.168.1.2 2.创建同步用户 主机域A:192.168.1.2 用户名A:sync_a 密码A:aaa 主机域B:192.168.1.1 用户名B:sync_b 密码B:bbb 至少分配以下权限grant replication slave 3.执行flush privileges 4.停止MySQL 5.配置my.cnf(my.ini) 服务器A 服务器B user = mysql教程 log-bin = mysql-bi

MySQL数据库的数据备份和恢复详解

本文讨论 MySQL 的备份和恢复机制,以及如何维护数据表,包括最主要的两种表类型:MyISAM 和 Innodb,文中设计的 MySQL 版本为 5.0.22. 目前 MySQL 支持的免费备份工具有:mysqldump.mysqlhotcopy,还可以用 SQL 语法进行备份:BACKUP TABLE 或者 SELECT INTO OUTFILE,又或者备份二进制日志(binlog),还可以是直接拷贝数据文件和相关的配置文件.MyISAM 表是保存成文件的形式,因此相对比较容易备份,上面提到