MYSQL数据库备份方案
MYSQL备份数据库主要有两个方法,一个是用MYSQLdump程序,另一个是直接拷贝数据库文件,各有其优缺点。
MYSQLdump与MySQL服务器是协同操作,可以生成能够移植到其它机器的文本文件,甚至那些有不同硬件结构的机器上。而直接拷贝方法在服务器外部进行,直接拷贝的文件不能移植到其它机器上,并且必须采取措施保证没有客户正在修改即将拷贝的表。当然在速度上MYSQLdump比直接拷贝要慢些。
不管使用哪种备份方法,如果需要恢复数据库,必须让服务器执行更新日志。当系统崩溃后需要恢复数据时,更新日志可以帮助恢复。这样在用备份文件恢复数据到备份时的状态后,我们可以通过运行更新日志中的查询再次运用备份后面的修改,这时可以将数据库中的表恢复到崩溃发生时的状态。当然我们也需要备份这些更新日志。
使用mysqldump备份和拷贝数据库时,mysqldump产生的输出可用作mysql的输入来重建数据库。 我们还可以将整个数据库导出到一个单独的文本文件中。在恢复期间,通常按数据库为基础提取更新日志内容,对单个表没有提取更新的选择。
如果使用直接拷贝数据库的备份和拷贝方法,可以使用这些cp、tar或cpio实用程序。当直接拷贝时,我们必须要保证表不在被使用。如果在拷贝过程中,服务器修改了拷贝中的表的内容,则备份失败。保证拷贝完整性的最好方法是关闭服务器,拷贝文件,然后重启服务器。如果不想关闭服务器,要在执行表检查的同时锁定服务器。如果服务器在运行,相同的制约也适用于拷贝文件。
恢复过程包括备份文件和更新日志。备份文件可以将表恢复到实施备份时的状态,更新日志包含了用于进行这些修改的查询。恢复过程根据我们需要恢复的信息多少而不同。实际上,恢复整个数据库比单个表跟容易,因为对于数据库运用更新日志比对单个表运用要容易的多。