前言
在Magento开发和维护过程中,经常需要将Magento的数据库导出、导入,这些工作可以通过mysqldump这个工具来实现。
下面我来简单介绍一下mysqldump在导出导入Magento database时需要注意的地方:
导出:
|
|
这条命令可以把mysql中db_name数据库中的所有表导出到db_name.sql文件中。 如果你只需要db_name数据库中的几个表,可以在上述命令添加table选项, 命令如下:
|
|
这条命令只会导出db_name数据库中table1和table2表。
顺便多说一点: mysqldump导出整个数据库的命令有两个格式:
只导出一个数据库:
|
|
导出多个数据库:
|
|
–databases 选项可以指定将要导出的数据库名称,但是在导出的文件中,会在每个数据库的sql开头添加如下代码:
|
|
具体使用哪种命令,需要根据具体情况加以选择。
mysqldump docs: http://dev.mysql.com/doc/refman/5.7/en/mysqldump.html
导入
在通过mysqldump得到sql文件之后,可以通过mysql的source命令导入这些数据:
假如你的sql文件是通过mysqldump [options] db_name [tbl_name …]这条命令导出的,就需要在导入之前先选中数据库:
|
|
然后执行导入命令:
|
|
这样就可以把db_name.sql中包含的数据导入到new_db_name数据库中。
修改Magento站点URL
回到Magento这里,当把一个Magento Site的数据库导入到另一个新的Magento Site的数据库后,还需要修改core_config_data表中的有关base_url和domain的记录的value:
如果不更新这些记录,会导致一些奇怪的问题(例如访问新站的链接会跳转到旧网站),凡是涉及到base_url和cookie的地方都会出现问题。
具体命令如下:
|
|
这样,原来Magento Site的数据库就导入到了新的Magento Site数据库中了。