Magento的迁移方法

Magento有很多配置内容,比如说CMS配置页、Static Stock、多语言配置等等,所以做数据迁移很有必要性,下面就说说如何做迁移

这个技术文章是从网上整理的,不过一个很重要的点被疏忽了,我在这里整理一下!

准备工作:

1.要用check-magento看一下服务器是否符合条件,再有就是看看rewrite.mod是否开启,如果没开启,也会影响magento以后的运行!在apache/conf中打开httpd.conf,把#LoadModule rewrite_module modules/mod_rewrite.so的#去掉,重启apache就OK了。

2.在xampp\apache\bin\php.ini中把extension=php_curl.dll开启

3.如果迁移的目标服务器是Windows,还需要在php.ini中配置一下open_ssl,详见在Windows下发送邮件的博文。

 

  1. 用PHPMyadmin备份整个magento数据库,最好生成.sql文件(如果生成SQL后,再复制或粘贴,再存入文件,有时会因为编码不正确,导致错误)  注:这里用逻辑备份方式来备份,有人说采用物理备份/还原也可以,我是没做成功。因为Magento的表大部分都是INNO DB引擎的,而采用物理还原后只能还原MyISAM类型的表
  2. 打开.sql文件,把约束去掉<INNO DB数据库支持主外键,如果直接运行SQL会导致主外键冲突>
  3. [php] view plaincopy
     
    1. 去掉约束的语句:  
    2. 请将下面的代码放在你的SQL代码的顶部:  
    3. SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT;  
    4. SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS;  
    5. SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION;  
    6. SET NAMES utf8;  
    7. SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;  
    8. SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;  
    9. SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO';  
    10. SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0;  
    11. 下面恢复约束关系  
    12. SET SQL_MODE=@OLD_SQL_MODE;  
    13. SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;  
    14. SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;  
    15. SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT;  
    16. SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS;  
    17. SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION;  
    18. SET SQL_NOTES=@OLD_SQL_NOTES;  
  4. 批量修改.SQL文件中的域名或IP地址<如把192.168.1.109:8888/MagentoTest的域名整体替换成192.168.1.92/USDP>
  5. 到服务器上执行.SQL文件
  6. 修改/app/etc/local.xml中的数据库连接
  7. 将所有的程序文件进行上传(如果源文件夹下的var目录下有内容的话,一定要删除,这里都是一些文件缓存。在1-5步,部署完毕后重新生成一下缓存,就会出错。)
posted @ 2015-05-24 20:52  AndyTai  Views(1195)  Comments(2Edit  收藏  举报