对于 InnodB存储引擎的冷备非常简单,只需要备份 MySQL数据库的frm文件,共享表空间文件,独立表空间文件(*bd),重做日志文件。另外建议定期备份 MySQL数据库的配置文件my.cnf,这样有利于恢复的操作。
通常DBA会写一个脚本来进行冷备的操作,DBA可能还会对备份完的数据库进行打包和压缩,这都并不是难事。关键在于不要遗漏原本需要备份的物理文件,如共享表空间和重做日志文件,少了这些文件可能数据库都无法启动。另外一种经常发生的情况是由于磁盘空间已满而导致的备份失败,DBA可能习惯性地认为运行脚本的备份是没有问题的,少了检验的机制。
正如前面所说的,在同一台机器上对数据库进行冷备是远远不够的,至少还需要将本地产生的备份存放到一台远程的服务器中,确保不会因为本地数据库的宕机而影响备份文件的使用。
冷备的优点是:
- 备份简单,只要复制相关文件即可。
- 备份文件易于在不同操作系统,不同 MySQL版本上进行恢复。
- 恢复相当简单,只需要把文件恢复到指定位置即可。
- 恢复速度快,不需要执行任何SQL语句,也不需要重建索引。
冷备的缺点是:
- InnoDB存储引擎冷备的文件通常比逻辑文件大很多,因为表空间中存放着很多其他的数据,如undo段,插入缓冲等信息
- 冷备也不总是可以轻易地跨平台。操作系统、 MySQL的版本、文件大小写敏感和浮点数格式都会成为问题。