数据量较大的网站迁移

随着网站数据量的逐渐增大,原先的虚拟主机已经无法满足需求,所以很多网站都从虚拟主机迁移到了VPS上。这时候就存在2个问题,一是数据文件太多,导入导出经常出问题;二是文本文件太大,从FTP下载然后再上传会浪费大量时间。

先看数据文件问题。如果数据库导出的文件超过2M,就不能在新的数据库中直接导入,需要修改数据库和php的相关设置(详见VPS流量问题)。这个办法在数据文件有几十兆的时候还是有效的,但数据文件超过百兆,甚至到G的时候就会发现,在导入数据的时候经常会断,或出现导入不全的情况。这时候可以用下面的方法解决。

  • 虚拟主机上导出数据库sql格式
  • sql文件先用zip压缩,上传到VPS空间
  • 用putty登陆vps
  • 用unzip解压zip文件,得到××.sql。
  • 进入mysql命令操作:mysql -u root -p进入mysql
  • use 数据库名(已经建好的数据库)
  • source ××.sql执行sql语句,实现数据导入。

再看文本文件问题。很多虚拟主机是有文件压缩功能的,但在网站太大的时候经常压缩不了,或压缩不全。如果你的虚拟主机能够给你提供网站的压缩文件,那必将为你迁移网站节省大量时间。如果不能,传统的方法是你用FTP把所有的文件都下载下来,然后再传到VPS的空间上去。如果你的网站达到几G的话,会耗费大量的时间和精力。这时候可以尝试下面的方法:

  • ftp client安装:apt-get install lftp(lftp,功能更强大的ftp)
  • cd命令进入htdocs文件夹(或其他存放网站文件的目录)
  • lftp(进入lftp命令模式)
  • open ftp地址(虚拟主机的FTP地址)
  • user 用户名
  • 同步ftp文件夹和vps文件夹:mirror -c –parallel=number remotedir localdir(隐藏文件不能同步,需要手动下载后再传上去,如.htaccess文件)

思路很简单,就是通过VPS直接登录到虚拟主机的FTP,然后直接将ftp中的文件同步到vps上。这样免去了比下到本地再上传减少了一步,能节省一半时间。而且,如果你的主机在国外的话,国外的网速比国内快好几倍,将能为你节省更多的时间。

贾定强微信

微信扫一下,或点击链接添加好友