一、直接拷贝数据库文件
直接拷贝数据库文件一般是使用文件系统备份工具cp,适合小型数据库,是最可靠的。
当你拷贝数据库文件时,必须保证表没有正在使用。如果服务器在你拷贝一个表的时候改变这个表,拷贝就失去了意义。保证你的拷贝完整性的最好方法是关闭服务器,拷贝文件,然后重启服务器。如果你不想关闭服务器,那么要在执行表检查的同时锁定服务器。如果服务器在运行,相同的制约也适用于拷贝文件,而且你应该使用相同的锁定协议让服务器“安静下来”。当你完成了备份时,需要重启服务器或者释放加载表上的锁定。
用这种方法把一个数据库拷贝到另一台服务器上,只要将文件拷贝到另一台服务器主机的适当数据目录下即可。要确保文件是MyIASM格式或者两台机器有相同的硬件结构,否则你的数据库在另一台主机上可能会有奇怪的内容。你也应该保证在你正在安装数据库表时服务器不访问他们。
二、mysqldump备份数据库(MyISAM是温备份,InnoDB是热备份)
mysqldump是采用sql级别的备份机制,它将数据表稻城SQL脚本文件,在不同的mysql版本之间升级时相对比较合适,这也是最常用的备份方法。mysqldump比直接拷贝要慢些。对于中等级别业务量的系统来说,备份策略可以这么定:第一次完全备份,每天一次增量备份,每周再做一次完全备份,如此一个重复。而对于重要的且繁忙的系统来说,则可能需要每天一次全量备份,每小时一次增量备份,甚至更频繁。为了不影响线上业务,实现在线备份,并且能增量备份,最好的办法就是采用主从复制机制,在slave机器上做备份。
三、lvs备份
lvs快照从物理角度实现几乎热备的完全备份,配合而机智日志备份实现增量备份,速度快适合比较麻烦的数据库。
前提是:数据文件要在逻辑卷上;此逻辑卷所在卷组必须由足够空间使用快找卷;数据文件和事务日志文件要在同一个逻辑卷上。