mysqldump加-w参数备份数据时需要注意的事项

我们在用mysqldump备份数据时,有个选项是 –where / -w,可以指定备份条件,这个选项的解释是:

-w, --where=name    Dump only selected records. Quotes are mandatory

我们可以做个测试,例如:

mysqldump --single-transaction -w ' id < 10000 ' mydb mytable > mydump.sql

这时候就可以备份出mytable表中 id< 10000 的所有记录了。假设我们还想加一个时间范围条件,例如:

mysqldump --single-transaction -w " id < 10000 and logintime < unix_timestamp('2014-06-01')" mydb mytable > mydump.sql

在这里,一定注意单引号和双引号问题,避免出现这种情况:

mysqldump --single-transaction -w ' id < 10000 and logintime < unix_timestamp('2014-06-01') ' mydb mytable > mydump.sql

这样的话,结果条件会被解析成:

WHERE id < 10000 and logintime < unix_timestamp(2014-06-01)

眼尖的同学会发现,时间条件变成了:

WHERE id < 10000 and logintime < unix_timestamp(2014-06-01)

也就是变成了:

unix_timestamp(2007)

这和我们原先的设想大相径庭,因此一定要谨慎

(0)

相关推荐

  • linux下改良版本mysqldump来备份MYSQL数据库

    因为MYSQLDUMP会为整个库来加一个全局锁定. 如果单纯用MYSQLDUMP进行全库备份会造成以下三个方面的影响. 1.服务器CPU严重阻塞. 2.磁盘I/O直线增加. 3.所有的查询都成了慢查询. 我现在的网站数据库大概是5个G左右,而且每天都有增大. 表结构是MYISAM,INNODB,MEMORY三者混合. 所以单纯用HOTCOPY工具恐怕有点困难.所以我今天简单变了一下我上次写的关于用OUTFILE来备份MYSQL的脚本. 可以解决上面说的三个缺点. 1.备份脚本内容 [david_

  • mysqldump数据库备份参数详解

    mysqldump备份: 复制代码 代码如下: mysqldump -u用户名 -p密码 -h主机 数据库 a -w "sql条件" –lock-all-tables > 路径 mysqldump还原: 复制代码 代码如下: mysqldump -u用户名 -p密码 -h主机 数据库 < 路径 mysqldump按条件导出: 复制代码 代码如下: mysqldump -u用户名 -p密码 -h主机 数据库 a –where "条件语句" –no-建表&g

  • 最简便的MySql数据库备份方法MySQLdump第1/2页

    使用MYSQL进行数据库备份,有很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快有好.  一.数据备份捷径 因为这个方法没有得到官方正式文档的验证,我们暂称为试验吧.  目的:备份hostA主机中一个MySQL数据库TestA,并恢复到到hostB机中 试验环境: 操作系统:WinNT4.0,MySQL3.22.34,PHPMyAdmin 2.1.0 Chinaz 在hostA中安装MySQL数据库并建立TestA数据

  • 使用mysqldump导入数据和mysqldump增量备份(mysqldump使用方法)

    1.各种用法说明 A. 最简单的用法: 复制代码 代码如下: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: 复制代码 代码如下: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句. B. --opt 如果加上--opt参数则生成的dump文件

  • mysql数据库备份及恢复命令 mysqldump,source的用法

    还原一个数据库:mysql -h localhost -u root -p123456 www<c:\www.sql 备份一个数据库:mysqldump -h localhost -u root -p123456 www > d:\www2008-2-26.sql //以下是在程序中进行测试 //$command = "mysqldump --opt -h $dbhost -u $dbuser -p $dbpass $dbname | gzip > $backupFile&qu

  • mysql mysqldump数据备份和增量备份

    本篇文章主要讲如何使用shell实现mysql全量,增量备份.增量备份在周一-周六凌晨3点,会复制mysql-bin.00000*到指定目录:而全量备份则使用mysqldump将所有的数据库导出,每周日凌晨3点执,并会删除上周留下的mysq-bin.00000*.然后对mysql的备份操作会保留在bak.log文件中.如下图:开始:2013年05月02日 15:10:57 结束:2013年05月02日 15:12:16 20130502.sql.tgz succ是由DBFullyBak.sh产生

  • 使用mysqldump对MySQL的数据进行备份的操作教程

    MySQL 自身的 mysqldump 工具支持单线程工作, 依次一个个导出多个表,没有一个并行的机 ,这就使得它无法迅速的备份数据. mydumper 作为一个实用工具,能够良好支持多线程工作, 可以并行的多线程的从表中读入数据并同时写到不同的文件里 ,这使得它在处理速度方面快于传统的 mysqldump .其特征之一是在处理过程中需要对列表加以锁定,因此如果我们需要在工作时段执行备份工作,那么会引起 DML 阻塞.但一般现在的 MySQL 都有主从,备份也大部分在从上进行,所以锁的问题可以不

  • MySQL数据备份之mysqldump的使用详解

    mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump file] 上述命令将指定数据库备份到某dump文件(转储文件)中,比如: mysqldump -uroot -p123 test > test.dump 生成的test.dump文件中包含建表语句(生成数据库结构哦)和插入数据的insert语句. B. --opt 如果加上--opt参数则生成的du

  • mysqldump加-w参数备份数据时需要注意的事项

    我们在用mysqldump备份数据时,有个选项是 –where / -w,可以指定备份条件,这个选项的解释是: -w, --where=name    Dump only selected records. Quotes are mandatory 我们可以做个测试,例如: mysqldump --single-transaction -w ' id < 10000 ' mydb mytable > mydump.sql 这时候就可以备份出mytable表中 id< 10000 的所有记

  • 使用MySQL MySqldump命令导出数据时的注意事项

    今天使用mysqldump命令备份数据的时候出现了一个问题. 一开始迁移 Discuz 7 论坛的 mysql 数据库时,采用 mysqldump 命令的时候一切顺利,但导入的时候却遇到了  ERROR 1062 (xxxxx) at line 1262: Duplicate entry 'XXX' for key 'XXX' 错误,并停在原地. 对于遇到相同错误的朋友千万别第一时间就尝试用 –force 参数强行导入(除非你原来的数据库已经崩溃).因为这样做的话,即使导入了,也会有一大片数据丢

  • mysqldump备份数据库时排除某些库的实例

    说明: 使用mysqldump –all-databases会导出所有库.但如果做主从,从主库dump出数据时,我们是不需要也不想要information_schema 和 mysql 库的.数据库少的情况下还可以通过/usr/local/mysql/bin/mysqldump -uroot -p --databases db1 db2 > db1db2.sql 这样再导出,但如果数据多,这样指定就很麻烦了. mysql是支持 ignore-table 的,但是没有ignore-database

  • jQuery Ajax 加载数据时异步显示加载动画

    ajax加载后台数据就不说的那么细了. 看下面代码首先前台上放置代码 <div id="loadgif" style="width:66px;height:66px;position:absolute;top:50%;left:50%;"> <img alt="加载中..." src="../../Images/loading1.gif"/> </div> 在js脚本文件中首先把这个图片动画

  • springboot中项目启动时实现初始化方法加载参数

    目录 springboot项目启动,初始化方法加载参数 1.@PostConstruct说明 2.@PreDestroy说明 第一种:注解@PostConstruct 第二种:实现CommandLineRunner接口 第三种:springboot的启动类 springboot初始化参数顺序 spring初始化参数顺序为 springboot项目启动,初始化方法加载参数 今天我看到项目中用到了 @PostConstruct 这个注解,之前没看到过,特地查了一下, 1.@PostConstruct

  • pandas读取csv格式数据时header参数设置方法

    目录 写在前面 参考文档 read_csv的header参数 header参数测试 思考 写在前面 使用pandas中read_csv读取csv数据时,对于有表头的数据,将header设置为空(None),会报错:pandas_libs\parsers.pyx in pandas._libs.parsers.raise_parser_error() ParserError: Error tokenizing data. C error: Expected 4 fields in line 2,

  • Linux下Mysql定时任务备份数据的实现方法

    前言 备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程.而对于一些网站.系统来说,数据库就是一切,所以做好数据库的备份是至关重要的! 备份是什么? 本实例将创建目录放置于/mnt目录下,可根据具体情况放置于其他目录: cd /mnt mkdir dbback pwd /mnt/dbback 创建shell脚本 脚本名称可根据自己规范进行自定义: vim bcmysql.sh 进入编辑器,输入以下内容: #!

  • innodb_index_stats导入备份数据时报错表主键冲突的解决方法

    故障描述 percona5.6,mysqldump全备份,导入备份数据时报错Duplicate entry 'hoc_log99-item_log_27-PRIMARY-n_diff_pfx01' for key 'PRIMARY' 故障原因 查看了下这个主键应该是MySQL系统库下的系统表innodb_index_stats mysql> show create table innodb_index_stats\G *************************** 1. row ****

  • ComboBox(下拉列表框)通过url加载调用远程数据的方法

    ComboBox(下拉列表框) ComboBox(下拉列表框)常用属性: valueField: 基础数据值名称绑定到该下拉列表框.- 提交值 textField:基础数据字段名称绑定到该下拉列表框.-显示值 url:通过URL加载远程列表数据. mode:定义了当文本改变时如何读取列表数据.设置为'remote'时,下拉列表框将会从服务器加载数据.当设置为"remote"模式时,用户输入将被发送到名为'q'的HTTP请求参数到服务器检索新数据. 方法: clear:清除下拉列表框的值

  • jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容

    本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1.3.4,如果运行后没有效果,自己检查easyui版本 不同版本对appendRow和mergeCells支持不一样,参数不一致什么的. 无法隐藏分页导航容器,可以用chrome开发工具或者firebug查看分页导航容器的样式和原始datagrid table表格的关系. 源代码如下 $(funct

随机推荐