ITPub博客

首页 > 数据库 > 数据库开发技术 > 从mysqldump自定义导出n条记录说起

从mysqldump自定义导出n条记录说起

原创 数据库开发技术 作者:数据库干货铺 时间:2019-08-05 22:37:00 0 删除 编辑


很多时候DBA需要导出部分记录至开发、测试环境,因数据量需求较小,如果原库的记录多,且表数量也多,在用mysqldump命令导出时可以添加一个where参数(如自定义导出n条记录),而不必全量导出。

示例脚本如下:

导出dbname库每张表的1000条记录/usr/local/mysql5.7/bin/mysqldump  --skip-add-locks   --master-data=2 --default-character-set utf8  -E   --single-transaction -R --triggers    -uroot -pxxxx   --socket=/data/mysql/mysql3307/tmp/mysql3307.sock  --databases dbname  --where "1=1 limit 1000" > dbname.sql


MySQLdump的其他主要用法如下:

1、导出数据和表结构——将特定数据库特定表中的数据和表格结构和数据全部返回

/usr/local/mysql5.7/bin/mysqldump  --skip-add-locks   --master-data=2 --default-character-set utf8  -E   --single-transaction -R --triggers    -uroot -pxxxx   --socket=/data/mysql/mysql3307/tmp/mysql3307.sock   dbname  tbname >tbname.sql


2、导出表结构却不导出表数据——只返回特定数据库特定表格的表格结构,不返回数据,添加“-d”命令参数

/usr/local/mysql5.7/bin/mysqldump  --skip-add-locks   --master-data=2 --default-character-set utf8  -E   --single-transaction -R --triggers    -uroot -pxxxx   --socket=/data/mysql/mysql3307/tmp/mysql3307.sock   dbname  tbname  -d  > tbname_str.sql


3、导出数据却不导出表结构——只返回特定数据库中特定表格的数据,不返回表格结构,添加“-t”命令参数

/usr/local/mysql5.7/bin/mysqldump  --skip-add-locks   --master-data=2 --default-character-set utf8  -E   --single-transaction -R --triggers    -uroot -pxxxx   --socket=/data/mysql/mysql3307/tmp/mysql3307.sock   dbname  tbname  -t   >tbname_data.sql

4、导出特定数据库的所有表格的表结构及其数据,添加“--databases ”命令参数

/usr/local/mysql5.7/bin/mysqldump  --skip-add-locks   --master-data=2 --default-character-set utf8  -E   --single-transaction -R --triggers    -uroot -pxxxx   --socket=/data/mysql/mysql3307/tmp/mysql3307.sock   --databases dbname   > this_database.sql


想进一步沟通或想了解其他文章的同学可以关注我

精彩推荐:

1. MySQL不停地自动重启怎么办

2. 升级python,就是这么简单

3. MySQL里trx_mysql_thread_id为0 的事务导致大量锁等待超时该咋整

4. mysql8.0新增用户及加密规则修改的那些事


原文作者:数据库干货铺;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2019-07-18

  • 博文量
    273
  • 访问量
    66459