mysql 备份及恢复

数据库备份

增量备份、差异备份区别

增量是每天相对于前一天的备份

差异是相对于完全备份的时间点

1、冷备份 离线,读写操作终止

2、热备份 备份是读写不受影响

3、温备份 仅可以读操作

4、物理备份:备份数据文件、逻辑备份:将数据导出至文本中

5、备份内容:数据库配置文件、数据、二进制日志、事务日志

6、热备份:innoDB:xtrabackup,mysqldump

      MyISAM:温度备份

mysql=====主从架构,离线备份

物理备份:速度快

逻辑备份:速度慢,丢失浮点数精度

7、备份策略

完全+增量 、完全+差异

一周做一次完全备份;一天做一次差异或者增量;一天一次完全+一小时差异或者增量

8、mysql 备份工具

8.1 mysqldump :逻辑备份工具、Myisam(温备份) 、InnoDB(热备份)

mysqlhotcopy:物理备份工具、温备或者冷备份工具

文件系统工具

8.2 cp :冷备

lv: 逻辑卷快照功能,几乎热备

mysql>flush tables;

mysql>lock tables;

创建快照、释放锁、而后复制数据

8.3 第三组工具

ibbackup:商业备份

xtrabackup:开源备份

9、备份工具操作

9.1 mysqldump(完全备份)+二进制备份

命令:mysqldump db_name [tb1] [tb2] 备份 db_name数据库或者 表[tb1]

mysqldump -uroot -p 数据库名称 > /backupdir/backup.sql

mysqldump 备份插入语句

mysql 数据库名称 < /backupdir/backup.sql 导入数据库

mysql>lock tables;

mysql>flush tables with read lock; 备份之前先锁表 以读的方式锁定,在dump 备份mysql数据

再执行备份 mysqldump -uroot -p 数据库名称 > /backupdir/backup.sql

备份完成后是否锁定

mysql> lock tables;

mysql>unlock tables;  释放锁定

备份二进制日志:

msyql>flush tables with read lock; 只读形式锁表

mysql>flush logs;

msyql>show binary logs; 查看二进制日志

--master-data=n{0|1|2} 0:不记录二进制文件及位置

             1:以 change master to 的方式记录位置,用于恢复后直接启动从服务器

             2:以change master to 方式备份,默认被注释

记录二进制日志备份:

mysqldump -uroot -p --master-data=1 msyqldb >/back/back-date+%F-%H-%M-%S.sql

温备份 锁定所有表

--lock-all-tables 参数 锁定所有表 后进行备份

mysqldump -uroot -p --lock-all-tables  --master-data=1 msyqldb >/back/back-date+%F-%H-%M-%S.sql

--flush-logs:执行日志flush;执行备份前,日志滚动

* 如果指定库中的表类型均为InnoDB ,可以使用 --single-transaction 启动热备;

备份多个库

--all-databases :备份所有库

--databases DB—Name 备份指定库

这两个命令备份库名;恢复前不用手动创建库

备份所有库:mysqldump -uroot -p --lock-all-tables --flush-logs --all-databases --master-data=2 >/back/dbs+%F-%H-%M-%S.sql

增量备份:备份每天的二进制日志

10、备份策略:每周完全+每日增量

完全备份:mysqldump  msyqldump -uroot -p  --master-data=2 --flush-logs --all-databases --lock-all-tables>/back/alldatabases.sql

mysql>purge binary logs to ‘msyql-bin-000011‘ ;删除‘msyql-bin-000011‘之前的 二进制日志;

msyql>show binary logs;

增量备份:备份二进制日志文件(flush logs)

1、mysql>flush logs; 先登录mysql 刷新下日志;

2、cd /mysql/data/ (此目录为数据库的data存放路径)

  cp mysql-bin-000011 /back/

3、或者可以另一种方式增量备份,把mysql-bin-000011 数据读出了后进行备份

mysqlbinlog mysql-bin.000011 >/back/mon-01bin.sql

恢复mysql 数据库;

假如mysql data 目录下,被整个都删除了;

1、cd /usr/local/mysql/ mysql安装目录

2、初始化mysql :scripts/mysql_install_db --user=mysql --datadir=/mydat/data/

3、启动mysql

4、#mysql -u root -p </back/alldatabases.sql  导入完全备份库

5、#mysql -u root -p </back/mon-01bin.sql  再导入增量的二进制备份

6、再把没有备份的最新二进制日志导入:#mysqlbinlog mysql-bin.000012 >/back/tu.sql

                   #mysql -uroot -p </back/tu.sql

mysql 备份脚本:

时间: 2024-10-21 19:08:23

mysql 备份及恢复的相关文章

Mysql备份和恢复

Mysql备份和恢复 备份 热备,是指对数据库运行中直接进行备份,对正在运行的数据库没有任何影响: 冷备,是指在数据库停止(关闭)下进行备份,只需拷贝相关的数据物理文件: 温备,是指对数据库运行中直接进行备份,但对当前数据库操作有所影响,很少用. 按备份出来的文件内容分为: 逻辑备份: 裸文件备份. 逻辑备份后文件内容是可读的,通常是文本文件,内容一般是Sql语句或表内的实际数据,如mysqldump或select * into outfile等方法.适用于数据库的升级.迁移,恢复时间较长. 裸

MySQL 备份和恢复(三)Xtrabackup实现热备:完全备份+增量备份

Percona XtraBackup is the world's only open-source, free MySQL hot backup software that performs non-blocking backups for InnoDB and XtraDB databases. With Percona XtraBackup, you can achieve the following benefits: Backups that complete quickly and

MySQL 备份和恢复(一)mysqldump

备份方式:    热备:不中断服务    温备:备份过程中不可写,要加读锁    冷备:需要停掉服务 备份策略一:mysqldump + binlog 完全备份 + 增量,用mysqldump定期全备,每天(根据实际情况来)备份二进制日志. mysqldump类似于一个mysql的客户端,所以用mysqldump备份时,mysql服务要启动起来,常用参数: -u username | --user=username 指定备份的用户 -p password | --password=passwor

MySQL 备份和恢复(二)基于LVM实现几乎热备

LVM(Logical Volume Management逻辑卷管理)实现几乎热备的原理:利用LVM的快照卷达到可以保存数据库在某一时刻的瞬时状态,只需把当时的快照备份出来即可. LVM的快照原理:简单的讲就是lvm对某个卷创建快照卷后,快照卷则作为原卷的另一个访问入口,当原卷的数据发生变化时,则先把原卷的内容先复制一份到快照卷,然后才会继续对原卷数据的修改,这也就是之所以快照卷的容量大小应该大于整个备份过程中数据库的变化量的原因.所以当备份完成以后,快照卷也就可以拆除了,它的作用就是在备份过程

MySQL备份,恢复方案,mysqlbinlog,mysqldump,主从,主主复制

DBMS数据库管理系统的三层模型:物理层,逻辑层以及视图层. 物理层:决定数据的存储形式. 逻辑层:是一张有一张的表,一行行的数据记录. 视图层:让用户看起来更方便,可有可无. 存储引擎:使逻辑层中sql语句转换成能在磁盘上存储的物理形式,连接逻辑层与物理层. 常用MySQL存储引擎: MyISAM: 最经典的MySQL存储引擎,但如果数据库一旦崩溃,再重启时需要对表进行修复,但MyISAM 存储引擎无法保证安全修复,且其不支持事务的进行.支持表级锁. Innodb: Innodb存储引擎,支持

MySQL系列——MySQL备份和恢复

MYSQL的备份和还原备份 :副本RAID1,RAID10 :保证硬件损坏而不会业务中止:备份和还原 :可以保证因逻辑错误引起的数据丢失备份类型 :热备份 :读写不受影响温备份 :仅可以执行读操作冷备份 :离线备份,读.写操作均中止 物理备份和逻辑备份物理备份 :复制数据文件逻辑备份 :将数据导出至文本文件中 完全备份.增量备份和差异备份备份什么:数据.配置文件.二进制日志.事务日志主从服务器架构 物理备份 :速度快逻辑备份 :速度慢.丢失浮点数精度:方便使用文本处理工具直接对其处理,可移植能力

Mysql 备份、恢复

核心工具: mysqldump 本地备份表结构 mysqldump -uroot -pPassword --no-data --databases database1 database2 database3> filename 本地备份数据库: mysqldump -uroot -pPassword databasename > filename 本地备份所有数据库 mysqldump -uroot -pPassword --all-databases > filename 跨服务器备份

通过shell脚本实现MySQL备份并恢复,for in流程控制

从3306备份数据库,还原到3307数据库上,通过shell脚本的for in流程控制实现 #!/bin/bash my_date=`date +%Y%m%d` my_time=`date +%H%M` my_date_yesterday=`date +%Y%m%d --date='1 days ago'` echo "----------------------------------------------------" echo "$my_date $my_time&q

MySQL备份和恢复实战

MyISAM数据表备份之mysqlhotcopy 数据表为myisam引擎的备份.可以使用mysqlhotcopy和mysqldump工具进行备份. 1)介绍 这个工具是一个Perl语言写的脚本.使用mysqlhotcopy必须安装perl-DBD-MySQL.perl-DBD. 2)特点 a:文件系统级别的copy,mysqldump则是数据库端的SQL语句集合 b:只能运行在数据库目录所在的机器上,mysqldump则任何机器都可以. c:mysqldump和mysqlhotcopy都执行l