MySQL 备份通常分为两种类型:逻辑备份和物理备份。这两种备份方法各有优缺点,适用于不同的场景。
逻辑备份是从数据库中导出数据和结构的 SQL 语句。这种备份通常使用 mysqldump 工具来完成。逻辑备份的主要优点是它具有较高的可移植性,可以在不同架构和版本的 MySQL 服务器上还原。但是,逻辑备份可能需要更长的时间来完成,特别是在处理大型数据库时。
物理备份是直接复制数据库的数据文件、索引文件和日志文件。这种备份方法通常使用文件系统快照或第三方工具(如 Percona XtraBackup)来完成。物理备份的主要优点是它通常更快,因为它不需要转换数据。然而,物理备份可能不如逻辑备份可移植,因为它依赖于特定的文件系统和操作系统。
总之,逻辑备份和物理备份有各自的优缺点,根据不同的应用场景和需求来选择合适的备份方法。
今天我们分享的主角就是大名鼎鼎的mysql物理备份神器-Percona XtraBackup
1、删库并停止数据库。2、备份myql数据目录。cp -rpf /data/3307/data /data/3307/data_bak
3、日志包含了redo以及undo的操作,应用过程类似与mysql hang机后的recovery操作,完成后备份处于一致性状态。
5、更改mysql数据目录的权限为mysql。6、启动数据库,至此数据恢复完成/etc/init.d/mysql3307 start
增量备份有两种方法:
方法一:针对全量的basedir做增量。
总是针对全量的basedir做增量,这个方式恢复起来就特别简单了,只需要将最后一次的增量备份合并到全量备份里,就可以恢复了。
第一种方法示例图: 总是将1月1日的全备作为basedir,所以FROM_LSN号总是5000。
方法二:总是针对上一次增量,做增量备份。
总是针对上一次的增量,做增量备份。这个方式的恢复,就要逐一合并了。总是把上一次(最近一次)的备份作为basedir
方法二示意图:
下面介绍的方法是针对第二种的。
(2)模拟删除库(删除之前先备份一下目录 )。(3)恢复数据。innobackupex --defaults-file=/etc/my3307.cnf --copy-back --rsync /backup/mysql/full_2023-05-10_14-08-36_3
(4)修改权限。
恢复时报Xtrabackup –copy-back fail Can’t create/write to file ‘./undo_001’。解决方法:/etc/my.cnf配置文件中注释掉如下代码:#innodb_undo_directory=.