在数据库表丢失或损坏的情况下,备份你的数据库是很重要的。如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态。有时,正是 MySQL 管理员造成破坏。管理员已经知道表已破坏,用诸如 vi 或 Emacs 等编辑器试图直接编辑它们,这对表绝对不是件好事!
备份数据库两个主要方法是用 mysqldump 程序或直接拷贝数据库文件(如用 cp、cpio 或 tar 等)。每种方法都有其优缺点:
mysqldump 与 MySQL 服务器协同操作。直接拷贝方法在服务器外部进行,并且你必须采取措施保证没有客户正在修改你将拷贝的表。如果你想用文件系统备份来备份数据库,也会发生同样的问题:如果数据库表在文件系统备份过程中被修改,进入备份的表文件主语不一致的状态,而对以后的恢复表将失去意义。文件系统备份与直接拷贝文件的区别是对后者你完全控制了备份过程,这样你能采取措施确保服务器让表不受干扰。
mysqldump 比直接拷贝要慢些。
mysqldump 生成能够移植到其它机器的文本文件,甚至那些有不同硬件结构的机器上。直接拷贝文件不能移植到其它机器上,除非你正在拷贝的表使用 MyISAM 存储格式。I...[ 查看全文 ]