在Magento开发和维护过程中,经常需要将Magento的数据库导出,然后再导入到新数据库中,这些工作可以通过mysqldump这个工具来实现。
下面我来简单介绍一下mysqldump在导出导入Magento database时需要注意的地方: 导出:$ mysqldump -uroot -p PASSWD db_name > db_name.sql 这条命令可以把mysql中db_name数据库中的所有表导出到db_name.sql文件中。
如果你只需要db_name数据库中的几个表,可以在上述命令添加table选项, 命令如下: $ mysqldump -uroot -p PASSWD db_name table1 table2 > db_name.sql 这条命令只会导出db_name数据库中table1和table2表。
注意:mysqldump导出整个数据库的命令有两个格式: 只导出一个数据库: mysqldump [options] db_name [tbl_name ...] 导出多个数据库: mysqldump [options] --databases db_name ... --databases 选项可以指定将要导出的数据库名称,但是在导出的文件中,会在每个数据库的sql开头添加如下代码: CREATE DATABASE /*!32312 IF NOT EXISTS*/ `origin_db_name` /*!40100 DEFAULT CHARACTER SET latin1 */; USE `origin_db_name`; 具体使用哪种命令,需要根据具体情况加以选择。
在通过mysqldump得到sql文件之后,可以通过mysql的source命令导入这些数据: 假如你的sql文件是通过mysqldump [options] db_name [tbl_name ...]这条命令导出的,就需要在导入之前先选中数据库: mysql> use new_db_name;
然后执行导入命令: mysql> source /path/to/db_name.sql 这样就可以把db_name.sql中包含的数据导入到new_db_name数据库中。
回到Magento这里,当把一个Magento Site的数据库导入到一个新的Magento Site的数据库中后,还需要修改core_config_data表中的有关base_url和domain的记录的value: 具体命令如下:
update core_config_data set value='http://new.domain.com/' where path like '%base_url%'; 这样,原来Magento Site的数据库就导入到了新的Magento Site数据库中了。 (责任编辑:好模板) |