逻辑备份
逻辑备份是备份sql语句,在恢复的时候执行备份的sql语句实现数据库数据的重现。
工具:mysqldump
特点:
1、可移植性比较强
2、备份和恢复的花费时间长,不适用于大型业务系统
物理备份
物理备份就是备份数据文件了,比较形象点就是cp下数据文件,但真正备份的时候自然不是的cp这么简单。
工具:xtrabackup
特点:
1、不具备移植性,备份环境和恢复环境必须是完全相同的
2、备份和恢复时间较快,适用于大型业务系统
mysqldump特性
备份原理:
通过协议连接到mysql数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句,当我们需要还原这些数据时,只要执行这些insert语句,即可将对应的数据还原。
优点:
可以直接使用文本处理工具处理对应的备份数据,因为备份数据已经被mysqldump转换为了对应的insert语句,所以,我们可以借助文件系统中的文本处理工具对备份数据进行直接处理。
缺点:
1、无法备份索引等信息(因为它只是单纯的将需要备份的数据查询出来,还原后需要重建索引)
2、当数据为浮点类型时,会出现精度丢失
3、备份过程属于逻辑备份,备份速度、恢复速度与物理备份工具相比较慢,而且mysqldump备份的过程是串行化的,不会并行的进行备份,如果想要并行备份,可以使用mydumper,但是此处我们不考虑这些,只考虑mysqldump,当数据量较大时,一般不会使用mysqldump进行备份,因为效率较低。
特性:
mysqldump对innodb存储引擎支持热备,innodb支持事务,我们可以基于事务通过mysqldump对数据库进行热备。
mysqldump对myisam存储引擎只支持温备,通过mysqldump对使用myisam存储引擎的表进行备份时,最多只能实现温备,因为在备份时会对备份的表请求锁,当备份完成后,锁会被释放。
备份数据长这样:
[root@backup2] /var/lib/mysql$ mysqldump -uroot test -p
Enter password:
-- MySQL dump 10.13 Distrib 5.7.21, for Linux (x86_64)
--
-- Host: localhost Database: test
-- -------------