在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:

如果不更新这些记录,会导致一些奇怪的问题,凡是涉及到base_url和cookie的地方都会出现问题。

具体命令如下:

update core_config_data set value='http://new.domain.com/' where path like '%base_url%';
update core_config_data set value='new.domain.com' where path like '%domain%';

这样,原来Magento Site的数据库就导入到了新的Magento Site数据库中了。

如果您觉得阅读本文对您有帮助,欢迎转载本文,但是转载文章之后必须在文章页面明显位置保留此段声明,否则保留追究法律责任的权利。

作  者:blog.jpdou.top

原文链接:http://blog.jpdou.top/use-mysqldump-backup-magento-databases/

利用mysqldump备份magento数据库的更多相关文章

  1. 1122Shell脚本之利用mysqldump备份MySQL数据库

    #!/bin/bash #Mysql 自动备份 压缩并上传到 指定ftp #设想每天凌晨3点备份mysql #编辑crontab配置文件 #00 03 * * * backupmysql.sh #压缩 ...

  2. 利用xtrabackup备份mysql数据库

    利用xtrabackup备份mysql数据库 一.安装1.直接下载二进制文件wget http://www.percona.com/downloads/XtraBackup/XtraBackup-2. ...

  3. 利用mysqldump备份mysql

    mysqldump备份机制:通过给定的参数信息和系统表数据,来一张表一张表地获取数据并生成insert语句插入备份文件中,这样由于时间点不一致,就会导致数据不一致,然而对于一个要求强一致性的系统来说, ...

  4. mysql的日志及利用mysqldump备份及还原

    日志文件:6类       一般查询日志:log,general_log,log_output       慢查询日志:       错误日志       二进制日志       中继日志       ...

  5. mysqldump - 备份 MySQL 数据库

    参考资料 备份 备份所有数据库中的所有数据(包括系统数据库) –all-databases 通过 --all-databases 选项备份所有的数据库: mysqldump -uroot -p --a ...

  6. MySql利用mysqldump导出/导入数据库表数据

    备份 在源主机上,先使用mysqldump命令备份,导出sql脚本文件 mysqldump -uroot -p tel_dev > /opt/tel_dev.sql 也可指定编码 mysqldu ...

  7. mysqldump 备份单个数据库

    mysqldump -uemove -h xx.xxx.xx.xx -P7996 -p --databases dbname >dbname.sql

  8. magento数据库备份导入还原

    Magento数据库备份.移植终极解决方案+3 分类:Magento教程 标签:magento搬家.magento数据库备份.magento更换域名.magento移植 4,355人浏览 作为电子商务 ...

  9. 一个备份mysql 数据库的脚本

    # 获取当前系统日期,格式为: 2009-2-21DATE=`date "+%F"` # 定义mysql 服务的主目录 DB_DIR=/usr # 定义备份后的路径BAK_DIR= ...

随机推荐

  1. window系统的HOST详解

    很多用户都知道在Window系统中有个Hosts文件(没有后缀名),在Windows 98系统下该文件在Windows目录,在Windows 2000/XP系统中位于C\Winnt\System32 ...

  2. 实际用户ID和有效用户ID (三) *****

    我们知道权限有r,w,x.其实除了这三个,还有特殊权限.比如: [root@localhost ~]# ls -l /usr/bin/passwd -rwsr-xr-x 1 root root 229 ...

  3. 【转】Pro Android学习笔记(五):了解Content Provider(上)

    Content Provider是抽象数据封装和数据访问机制,例如SQLite是Android设备带有的数据源,可以封装到一个content provider中.要通过content provider ...

  4. go http 下载视频(TS码流文件)(推荐一个网站学习 go example)

    视频  http下载代码 dn.go(注意:代码很ugly,没怎么花时间) 总体感觉特别简单,网上看了下 net/http ,io这2个库的使用, 几分钟就写完了,感觉cpp 在做工具这块 开发效率的 ...

  5. python2和python3中的range区别

    python2中的range返回的是一个列表 python3中的range返回的是一个迭代值 for i in range(1,10)在python2和python3中都可以使用,但是要生成1-10的 ...

  6. 如何使用Git命令将项目从github或者服务器上克隆下来

    在本地新建一个文件夹,作为本地仓库,如“demo”.单击右键git Bush here,打开git,输入命令: cd /c/Users/Administrator/Desktop/demo  然后按回 ...

  7. 设置Android让EditText不自动获取焦点

    最近在做一个练手项目的时候,因为默认进入的页面有一个EditText控件,每次进入的时候会自动获取焦点弹出软键盘,体验非常不好,后来在网上找到了解决办法:在EditText的父级控件中找到以下属性,设 ...

  8. php + mssql乱码

    当用PHP自带的模块php_mssql.dll去调用MSSQL数据库时,中文数据会乱码.但如果我们采用ADODB的方式去做,就不会乱码了.请看下面的具体实例: 调用开源的adodb.inc.php(支 ...

  9. php封装pdo操作数据的工具类

    <?php header("Content-Type:text/html;charset=utf-8"); class PdoMysql{ public static $co ...

  10. c的scanf为什么比c++的cin快

    很早就知道,c的scanf(printf)比c++的快.刷题时尤其明显,在这上面超时是常有的事儿. 但,这是别人告诉我的,c快. 为什么快? 从网上借鉴一个例子做个简单测试: 1.cpp     // ...