### [Magento搬家、换域名、重新安装教程](https://pmself.com/article/646) **Published:** 2021-09-09T03:19:06 **Author:** admin **Excerpt:** 范例:从http://www.youdomain.com 迁移到http://www.newsite.com。… ![](https://pmself.com/wp-content/uploads/2021/09/2021090903185819.jpg) 范例:从http://www.youdomain.com 迁移到http://www.newsite.com。 - 将原来网站文件中的var文件中的cache和session文件删除,将media中的缓存文件删除。然后将所有文件制作成一个压缩包,以减少文件体积,方便转移。 - 将压缩包转移到新的服务器域名指向的文件夹,解压。 一、首先要通过phpMyAdmin备份整个magento的数据库。备份数据并且存为.SQL. 二、接着打开你的备份文件(.SQL),查找并且替换所有的 “www.youdomain.com” 到“www.newsite.com”. 必须在导入数据之前完成,不然新的MAGENTO将会全部瘫痪。 三、 接着别关闭你的备份文件(.SQL),还有重要一步就是必须强制关闭相关的“数据库关键字的关系”。 请拷贝下面代码放在你的SQL代码的顶部: ``` SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT; SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS; SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION; SET NAMES utf8; SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO'; SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0; ``` 接着将下面的代码放在你的SQL代码的底部: ``` SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT; SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS; SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION; SET SQL_NOTES=@OLD_SQL_NOTES; ``` 四、接下来,保存后压缩你的数据库(.SQL)文件,结尾为ZIP格式。因为我的原SQL文件大约8MB,但是压缩之后只有500KB,这样可 以大大加速上传的时间。记住,请用PHPMYADMIN上传。如果数据库比较大,你可以修改服务器运行时间。 五、把原网站所以文件拷贝到你要迁移的服务器上。 六、现在你需要打开htdocs/app/etc/local.xml并且修改其中的数据库连接到新服务器的数据库(对应www.newsite.com).保存你的修改。现在你的magento应该可以工作了。 ![Magento搬家、换域名、重新安装教程](http://justcode.ikeepstudying.com/wp-content/uploads/2015/12/0140319170410.png "Magento搬家、换域名、重新安装教程") Magento搬家、换域名、重新安装教程 七、最后还有一样事情你需要做,那就是修改 .htaccess文件. 如果你迁移是从一个服务器到另外一个服务器,而且所有的绝对路径是相同的,你不需要做任何事情。 但是如果你是从子文件夹http://www.youdomain.com/store/移动出来,你需要修改.htaccess 中 “RewriteBase/magento/” 部分。并且搜索替换SQL中相关的部分,例如“http://www.youdomain.com/store”换成“http: //www.newsite.com/” 。 - 安装结束后,进入后台去刷新下缓存和索引管理。 - 在前台检查是否有异样。如果某些图片显示不正常,检查是否使用了固定的链接,因为域名更换,引起图片无效。 - 如果修改了域名, 则还需要修改magento数据库,core\_config\_data表中的path为web/unsecure/base\_url和web /secure/base\_url的内容,为你网站的新域名,注意域名后面的“/”。更换网站完整域名+/  http://www.abc.com/ - 登录进入Magento后台, 进入system 的Cache management和index management刷新一下缓存, 并且重建索引. 注意: 如果恢复SQL的过程中出现如下错误: Mysql查询错误 查询语句:DROP TABLE IF EXISTS \`mg\_admin\_role\` 错误信息:Cannot delete or update a parent row: a foreign key constraint fails 就是因为MySQL外键约束导致mysql还原出错,可以在 在恢复数据之前运行下面语句,取消外键检查 SET FOREIGN\_KEY\_CHECKS = 0; 恢复之后再运行: SET FOREIGN\_KEY\_CHECKS = 1; 即可。 在新空间创建新的数据库,导入备份的数据文件。如果导不进去的是因为magento的数据库使用了外键约束,通过phpmyadmin导入的时候会报错,在导出的sql文件上加一行 | | | | --- | --- | | `1` | `SET` `@OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;` | **Categories:** 技术 ---