mysql逻辑备份2种方案

mysql逻辑备份方案:

  1. 针对db进行逻辑备份(由于数据量较小,正在生产环境使用)。

    mysql_backup.sh

    #!/bin/bash

    date=`date +%F-%H-%M`

    mkdir /opt/backup/${date} -p

    usesize=`du -s /opt/mysql |cut -f 1`

    biaozhun=`df  /opt/ |awk ‘END{print ("‘$usesize‘"+$3)/$2*100+0.5}‘|cut -d. -f1`

    ip=`grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth1 |cut -d = -f2`

    if [ $biaozhun -ge 85 ]

    then

    mysqldump --user=root  --flush-privileges --single-transaction  --master-data=1 --flush-logs --triggers --routines --events --hex-blob -B hbb meta_dm_config >/opt/backup/${date}/mysqlall${date}.sql

    echo " $ip disk is big,plase check" |sendmail -t "df" [email protected]

    echo 1

    else

    mysqldump --user=root  --flush-privileges --single-transaction  --master-data=1 -flush-logs --triggers --routines --events --hex-blob -B hbb meta_dm_config >/opt/backup/${date}/mysqlall${date}.sql

    echo 2

    fi

  2. 针对单个表进行逻辑备份。

    mysql_backup_per_table.sh

    #!/bin/bash

    date=`date +%F`

    mkdir /opt/backup/${date}/hbb -p

    mysql -e "flush table with read lock;"

    #mysql -e "use hbb;show tables;" |grep -v Table >tables_list.txt

    for table_name in `mysql -e "use hbb;show tables;" |grep -v Table `

    do

    mysqldump --user=root --flush-privileges --single-transaction  --master-data=1 --flush-logs --triggers --routines --events --hex-blob mysql >/opt/backup/${date}/mysql.sql

    mysqldump --user=root --flush-privileges --single-transaction  --master-data=1 --flush-logs --triggers --routines --events --hex-blob hbb $table_name >/opt/backup/${date}/hbb/${table_name}.sql

    done

    mysql -e "unlock tables;"

时间: 2024-11-09 00:16:35

mysql逻辑备份2种方案的相关文章

MySQL 逻辑备份神器

简介: Mydumper.Myloader 是一个第三方的.开源的 MySQL 逻辑备份工具. 支持多线程,比起 mysqldump 要快很多,也能解决 innobackupex 备份工具对 MyISAM 引擎备份的不便. 多线程快速逻辑备份,支持快照功能. 下载地址:https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-0.9.1.tar.gz 一.安装 Mydumper shell > yum -y install gcc g

(4.12)mysql备份还原——mysql逻辑备份之mysqldump

关键词:mysql逻辑备份介绍,mysqldump 1.mysql逻辑备份介绍 [1.1]备份内容:数据库的结构定义语句+数据内容的插入语句,备份出来的文件可以编辑 [1.2]使用场景:数据量较少的库,比较适合100G数据量以内的 逻辑备份的特点 (1)sql语句组成的文件,可以编辑截取部分单独使用. (2)备份文件比物理文件小 (3)可以细化到表/表的内容 (4)速度慢 (5)可以跨平台恢复/迁移 2.逻辑备份工具 [1.1]mysqldump(单线程).mysqlpump(多线程,5.7以后

MYSQL自动备份策略的方案

目前流行几种备份方式: 一.逻辑备份:使用mysql自带的mysqldump工具进行备份.备份成sql文件形式. 优点:最大好处是能够与正在运行的mysql自动协同工作, 在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定,不允许其他用户修改(只能访问).可能会阻止修改操作.sql文件通用方便移植. 缺点:备份的速度比较慢.如果是数据量很多的时候.就很耗时间.如果数据库服务器处在提供给用户服务状态,在这段长时间操作过程中,意味着要锁定表(一般是读锁定,只能读不能写入数据).那么服务就会

mysql逻辑备份与还原工具mysqldump

(一)mysqldump介绍 mysqldump是MySQL自带的逻辑备份工具,类似于Oracle的expdp/impdp,mysqldump备份十分灵活,可以在以下级别对数据库进行备份: 实例下的所有数据库 某个或某几个数据库 某个数据库中的表 某个数据库中的表的某些记录 mysqldump的备份结果集有两种文件:一种是将数据转换为标准的SQL语句,另一种是按照指定的分隔符,输出为特定格式的平面文件. (二)mysqldump的用法 可以直接使用mysqldump命令查看mysqldump的用

MySQL逻辑备份利器-mydumper

关于mydumper的简介和下载请访问:https://launchpad.net/mydumper 简言之,mydumper是多线程逻辑备份,对于表和数据量很大的情况下,建议使用mydumper提高备份效率,比mysqldumper要快很多. 我为什么要用mydumper?是基于某个需求,比如我需要把某个库下的所有按日期分表的表备份并导入到新实例?如何实现? table_20170101 table_20170102 ...... table_20171231 一共三百多张表 开始我去尝试my

MySQL逻辑备份mysqldump

一个用mysqldump做逻辑备份的小脚本 用于小数据量的备份,全库,按日期,按库,按表,进行分类 # date -s "2015/01/01" && bash mybackup.sh #!/bin/bash # 使用mysqldump进行逻辑备份 # 目录结构/backup/日期 # 每隔7天删除旧的备份目录 db_backup_root="/backup" today=`date +%Y%m%d` old_backup_dir=`date -d

mysql逻辑备份

逻辑备份一般用于数据迁移或者数据量很小事,逻辑备份采用的是数据导出的备份方式. 如果需要导出所有数据库,命令如下: mysqldump -uroot -p --single-transaction -A>all.sql 如果只是要导出其中的某几个数据库,则采用如下命令: mysqldump -uroot -p --single-transaction -B test1 test2>test1_test2.sql 如果要是导出的是一个库中的某几个表,可采用如下命令: mysqldump -uro

mysql逻辑备份(mysql dump的使用)

mysqldump 属于MySQL客户端工具 mysqldump备份工具对于MyISAM存储引擎实现备份是温备份,对innodb存储引擎是可以实现热备份. 使用mysqldump备份数据库可以实现完全备份 + 二进制日志文件,这样也算是完全备份 + 增量备份. 首先将这个数据库备份下来这就是完全备份,然后以后数据的变化再每天进行对二进制日志进行备份这就是增量备份. mysqldump命令的使用: 用法mysqldump  + 选项  +要备份的数据库 常用选项: db_name:      备份

(十二)MySQL逻辑备份mysqldump

(1)简介 语法 mysqldump -h服务器 -u用户名 -p密码 [-P端口号] [参数] 数据库名 >备份文件.sql 关于数据库: -A,--all-databases 所有库,会生成DDL语句(创建数据库的语句和进入数据库的语句,导入的时候不需要指定数据) test 数据库,没有指定其它参数,导入到数据的时候需要指定导入到哪个数据库,不会生成创建数据库的DDL语句,mysql -uroot -predhat testdb <1.sql test t1 t2 test数据库的表t1和