终于找到个好办法备份数据库了
环境:web服务器和数据库服务器分离,数据库服务器不对外网开放。
数据库的user库共有6G大;
在线通过webshell连接到数据库服务器,用webshell自带功能备份其中的user库,备份的时候服务器内存耗尽、apache进程假死、网站无法访问,最后备份出来刚好4G大,不知道数据完整不,下到本地用mysql导入,算了下时间,1000多万数据需要至少65小时才能导入完成,很恐怖。。。办公室的那台电脑现在还在导入昨天凌晨备份的数据库。。。呵呵!最主要的是,不知道数据备份是否完整,怎么刚好4G大?
苦苦找寻好的备份方法,为了减小备份数据,打算只备份用户名和密码字段,可是web服务器没装mysql,没法执行这种备份方式,后来翻遍baidu,找了2天,终于找到个好办法:
下载《帝国备份王》备份,按提示设置好,备份的时候可以只选择备份表中的某些字段,这个功能很好,但是不知道是我备份时没设置好,还是怎么了,花了29分钟备份完成,又花了接近半小时打包成bz2格式下载回来,还原的时候,提示adminid字段不能为null,郁闷。。。只有重新备份了!现在正在第二次备份。。。。等会看结果!
《帝国备份王》备份的时候可以选择按文件大小分段或者按数据量分段,我是按数据量,每10万条分段,之前还原的时候还提示了一个“Allowed memory size of 134217728 bytes exhausted (tried to allocate 10066329”错误,提示这个错误请更改php.ini中的memory_limit值,我改到512M去了,还原完了可以改回来,因为每个备份文件都有32M左右大。。。所以才提示这个错误!