magento数据库备份导入还原
Magento数据库备份、移植终极解决方案+3
分类:Magento教程 标签:magento搬家、magento数据库备份、magento更换域名、magento移植 4,355人浏览
作为电子商务购物车系统解决方案,Magento数据库结构相当复杂,以至于普通的数据库备份方式几乎无法成功备份,即使成功备份,导入数据库也不是一件简单的事情。另一方面,作为一款购物车系统,从安全角度来说,每天备份数据毫不为过。更换域名,更换服务器都多多少少牵涉到Magento的数据库备份相关知识。本文由锐想外贸电子商务解决方案提供,为Magento使用者总结下数据库备份、移植的一个方案。
Magento数据库备份实际上时间非常简单的事情,网上有许多类似的文章使用PHPMyAdmin导出数据库并在生成的sql文件头尾部添加一段sql代码避免外键导致的备份、移植失败。在之前的Magento数据库备份当中,我也在一直采取这种方式,一直到公司站点的数据库超过1G之后,再也无法通过这种方式进行备份了。首先在Windows环境下,很难找到编辑器打开大于1G以上的文件,EditPlus和Zend Studio均告失败,虽然UltraEdit成功打开,但是大概需要一根烟的时间,并且添加sql代码并保存的过程相当痛苦。
备份Magento数据库
经过多个Magento数据库备份方案的对比与尝试,最终决定使用Magento后台自带的Backups Tool工具进行数据库备份。通过该方法备份的数据库文件相比从phpMyAdmin中备份的文件,具有如下几个优点,
- sql文件已经自动压缩为.gz文件,体积相对较小。本站数据库大概为1.7G,压缩后的gz文件只有87Mb
- 不需要打开文件添加首位sql代码。Magento在生成该文件时已经自动添加外键关联
说了那么多有点,下面一步步具体了解下如何进行操作。首先,通过如下步骤,进入到Magento内置的数据库备份工具页面中,
System->Tools->Backups
进入该页面之后直接点击右侧的Create Backup按钮,根据数据库大小,等待相应时间之后即可生成一份数据库备份文件。如下图所示。
根据你当前的操作系统,如果是Windows环境的话(相信大多数人使用的都是该系统桌面环境),点击7-Zip即可下载压缩之后的文件,而使用Linux桌面环境的可以下载gz文件。获得该文件之后,可以通过解压工具将数据库文件解压出来,这里需要注意的是,解压出来的文件是没有文件扩展名的,我们需要将其重命名为xxx.sql文件。这样,导入之前的准备工作就结束了(PS:这里需要将该文件的位置记录下来,在命令行导入该文件时需求路径信息)。接下来就是如何将该文件导入到新的数据库中。
导入Magento数据库
同样是总结了多个Mysql数据导入方案之后,最终选择了通过Mysql命令行工具进行导入,而非网上较多通过phpMyAdmin导入的方法。通过phpMyAdmin进行导入较大的数据库文件时,需要顾及到PHP以及Apache的相关配置,比如最大Post值,最大upload值以及脚本最大运行时间,作者在通过PMA导入时就曾遇到过”脚本超时,如果你要完成导入,请重新提交相同的文件,导入将会继续进行”等各种问题。而直接通过Mysql命令行工具,则不需要顾及这些,并且该工具的使用也是相当简单。
Windows桌面环境下可以使用CMD或者MySQL 5.5 Command Line Client数据库管理工具进入数据库,Linux桌面环境及服务器可以直接使用命令行工具或者SSH。进入数据库之后,选择需要导入的数据库,运行如下命令,
01 |
source /var/www/html/xxx.sql |
根据你的数据库大小,等待相应时间。到此,Magento备份的数据库顺利导入到新库中。整个导入过程也进入收尾阶段。如果说你没有更换域名,并且新导入的库与原始数据库的名字是一样的,那么到此,你的新Magento网站就可以顺利打开了。那么如果新的数据库名更换了,或者说你更换了域名,该如何操作呢?
Magento域名变更操作
Magento数据库core_config_data表中记录了购物车系统的域名地址,在初次创建购物车的时候,系统会自动读取并将网站地址些人该表中。当更换域名时,需要修改表中的记录,否则Magento无法识别当前域名,导致生成的url地址都是老域名地址。修改该记录非常简单,进入phpMyAdmin,选择core_config_data表中的path字段对应的web/unsecure/base_url和 web/secure/base_url的value值并更改为当前域名地址即可,切忌不可缺少http以及域名结尾的/斜杠!如下图所示,
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。