问题背景:玩个人博客、网站、论坛的朋友,在更换主机空间时,都会遇到转移数据库。一般的方法是直接通过数据库phpMyAdmin后台导入,或者通过wordpress后台也能导入。但这些只是针对较小数据库的情形,比如10M以下,而很多主机商都会限制上传文件的大小,而且在上传10M以上SQL文件的过程中,往往会中断或无限超时。因此,对于大数据库的转移,很是费时。
在求索阁建站的这一年多来,这个问题直到今天才倒腾明白。
解决方案
方案一:化整为零 逐个上传
既然不能一次性上传大数据库文件,那么,化整为零倒是不错的选择。而SQLDumpSplitter正好可以解决SQL文件过大的问题,它能把一份较大的SQL文件分割成数个指定大小的SQL文件,然后再分批导入到phpMyAdmin中,就能避免因文件过大导致运行时间过长而产生超时的问题。
SQLDumpSplitter分割器非常小巧,不需要安装直接打开就能用,而且分割速度也不错,分割大小可自定义。其最大的优势就是SQLDumpSplitter可以自动将结构语句(一般以DataStructure.sql结尾的这个文件)和数据语句分开,所以无需担心分割出错,一切都是自动的。
方案二 借用8UFtp整体上传
8UFtp是一款非常优秀的免费Ftp软件。通过该软件直接把数据库文件先上传到空间的根目录下,然后又有两种方法导入大数据库。
方法一:详见文章
方法二:Crob
结语:之前求索阁所在的网络,由于不能使用FTP软件,因此排除了方案二。而方案一里的SQLDumpSplitter分割器直到今天才被发现。
本文算是对独立博客四必会之“大数据库转移”的完整总结,作为博客人,不可不知。独立博客四必会的另外三必会是:域名转移、数据备份和空间安全。
注:本文写于2011.11.27