关于magento在迁移后出现异常的处理

magento在迁移后,可能会出现异常,常见的故障,是前台或后台空白,或显示不完整,
常见的处理方法是删var/cache及var/session下的缓冲,一般会得到解决。
但一些更难缠的意外,上述动作做完后,打开缓冲或编绎后,故障依旧。
经过几天的实验和判断。我把解决说明如下:
最可能的问题,是数据库有问题,如果你原先代码运行正常的话。
1、这时你将备份的数据库倒入数据中,然后用标准原始的magento,在要迁移的数据库上进行安装。
2、安装后,到后台进行缓冲及产品索引,以及编译,正常后,关掉。
3、然后将标准原始的magento删除,换上再将要迁移的代码。重新运行。
4、基本上这样后,数据库得到规范和清理,基本上可以
我试了很长时间,在不明原因的情况下,这种处理方法最有效!

magento在改版网站时如何迁移客户和订单数据

magento在改版网站时,需在另外一个模拟站,进行网站的改版和调试,当改好时,如何将自在运营中的magento的客户和订单数据迁移新站呢,以我把我订单和客户所涉及的数据库罗列如下,我试运了,没问题。
订单:
 mysqldump -u用户 -p密码  magento数据库 sales_bestsellers_aggregated_daily sales_bestsellers_aggregated_monthly sales_bestsellers_aggregated_yearly sales_billing_agreement sales_billing_agreement_order sales_flat_creditmemo sales_flat_creditmemo_comment sales_flat_creditmemo_grid sales_flat_creditmemo_item sales_flat_invoice sales_flat_invoice_comment sales_flat_invoice_grid sales_flat_invoice_item sales_flat_order sales_flat_order_address sales_flat_order_grid sales_flat_order_item sales_flat_order_payment sales_flat_order_status_history sales_flat_quote sales_flat_quote_address sales_flat_quote_address_item sales_flat_quote_item sales_flat_quote_item_option sales_flat_quote_payment sales_flat_quote_shipping_rate sales_flat_shipment sales_flat_shipment_comment sales_flat_shipment_grid sales_flat_shipment_item sales_flat_shipment_track sales_invoiced_aggregated sales_invoiced_aggregated_order sales_order_aggregated_created sales_order_status sales_order_status_label sales_order_status_state sales_order_tax sales_payment_transaction sales_recurring_profile sales_recurring_profile_order sales_refunded_aggregated sales_refunded_aggregated_order sales_shipping_aggregated sales_shipping_aggregated_order salesrule salesrule_coupon salesrule_coupon_usage salesrule_customer salesrule_label salesrule_product_attribute wishlist eav_entity_store>order.sql

eav_entity_store 是记录了订单的一些最后一个Id号资料,这个不拷,会在支付最后一步出错的!

客户
 mysqldump -u用户 -p密码  magento数据库 customer_address_entity customer_address_entity_datetime customer_address_entity_decimal customer_address_entity_int customer_address_entity_text customer_address_entity_varchar customer_eav_attribute customer_eav_attribute_website customer_entity customer_entity_datetime customer_entity_decimal customer_entity_int customer_entity_text customer_entity_varchar customer_form_attribute customer_group log_customer>custom.sql

将上述运营站导出的表,导入到新版的站中,即可实现客户和订单的迁移.

magento迁移时如何在导入数据库时强制关闭相关的数据库关键字关联的方法

由magento的数据库表之间存在关联,在迁移时,导入其它空间的数据库,会存在的约束关系,会导入不成功,以下是解决的方法:
强制关闭相关的数据库关键字关系:

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;

恢复相关的数据库关键字关系:

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;

如果你用phpmyadmin来导入,上述代码分别植入相应sql文件的头部和尾部。

如果你用ssh登录命令行,可在msyql命令行环境中在source 相关.sql这行语句执行前后,分别运行上述语名即可.
如果你用上述方式还不能导入,你又有源数据库的phpmyadmin的环境,你可以用他自带的同步功能来进行数据库转移(好像一些phpmyadmin功能不带)。

1、进源服务器的phpmyadmin,

2、在源phpmyadmin中选择同步

3、在左侧选择源数据库

4、在右侧选择目录数据库,并设置相应的参数,同步前目标数据库清空

5、执行同步
进目标数据库

mysql -u  -p

use 数据库;

show tables;

如果显示的数据数量和源数据库数量一样,说明成功

magento网站的迁移步骤

1、将magento目录打包,zip  -r   magento.zip *,压缩之前可删除var目录(里面的backup,pear可保留),media下的tmp,cache可删除;
2、倒现数据库:用phpmyadmin倒出,或者用mysqldump 倒出
3、在新服务器上新建一个空的数据库及用户名,并上传原代码及数据库文件;
4、到指定的目录下unzip magento.zip,解压到目录中,
5、倒入原有数据库,用phpmyadmin倒入,或在ssh中用 mysql后,use 数据库名;source 倒入的数据库.sql;
6、修该apc/etc/local.xml中的数据库配置,
完成了相应的magento网站的迁移工作.
备注说明:名字带有log表,应该都是可以清空。