在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. rman理论(一)

    1) 快照控制文件:开始备份后,RMAN 需要这些信息在备份操作期间保持一致,也就是说RMAN需要一个读取一致的控制文件视图. 除非RMAN 在备份持续时间内锁定控制文件,否则数据库会不断更新控制文件 ...

  2. docker的操作

    查询容器 docker ps  只能查询到正在运行的docker镜像: 如果添加上-a的选项,则会显示所有的(包括已经exit,未启动)的容器 基于一个镜像来构建(run)容器,并启动 docker ...

  3. POJ3580:SuperMemo

    浅谈\(splay\):https://www.cnblogs.com/AKMer/p/9979592.html 浅谈\(fhq\)_\(treap\):https://www.cnblogs.com ...

  4. java计算两个时间相差(天、小时、分钟、秒)

    public static Long dateDiff(String startTime, String endTime, String format, String str) { // 按照传入的格 ...

  5. <meta> 标记汇总

    1.  <meta name="viewport" content="width=device-width, initial-scale=1"> v ...

  6. Idea无法加载主类

    今天重装了下电脑,运行idea发现各种问题. 直接进主题哈, 遇到三种情况 第一种: 首先查看这里是否有多个,只保留当前需要用工程路径.点击P右边的删除即可 删除后 然后运行是否能运行. 如果没有的话 ...

  7. fkmu

    杭州赛区J:考虑实质上是求解 (a,b) = 1 且 a*b<=n的数对个数,枚举a,对b容斥. trickgcd:考虑反向求解,即为ans[x] -= ans[t*x],注意到因为反向求所以余 ...

  8. ThinkPHP隐藏index.php出现No input file specified的解决方法

    因为在Fastcgi模式下,php不支持rewrite的目标网址的PATH_INFO的解析 ThinkPHP运行在URL_MODEL=2时,会出现 No input file specified.的情 ...

  9. 2015年第六届蓝桥杯国赛试题(JavaA组)

    1.结果填空 (满分15分)2.结果填空 (满分35分)3.代码填空 (满分31分)4.程序设计(满分41分)5.程序设计(满分75分)6.程序设计(满分103分) 1.标题:胡同门牌号 小明家住在一 ...

  10. 一文带你认识Java8中接口的默认方法

    Java8是Oracle于2014年3月发布的一个重要版本,其API在现存的接口上引入了非常多的新方法. 例如,Java8的List接口新增了sort方法.在Java8之前,则每个实现了List接口的 ...