如何仅导出MySQL中的特定数据库?

要导出指定的MySQL数据库,可以使用mysqldump命令。以下是一个示例:,,“bash,mysqldump u 用户名 p 密码 数据库名 > 导出文件.sql,

mysqldump工具介绍

如何仅导出MySQL中的特定数据库?

mysqldump是一个用于转储MySQL数据库的实用程序,主要用于数据库的迁移和备份操作,它能够生成包含SQL语句的文本文件,这些语句可以用来重建原始数据库。

基本用法

1、全库导出

   mysqldump uroot p databases db_name > all_db.sql

这条命令会导出整个数据库的内容,包括建库语句、表结构以及数据。

2、只导出数据库结构

   mysqldump uroot p nodata databases db_name > structure.sql

这条命令只会导出数据库的结构,而不会包含任何数据。

3、导出指定表的数据和结构

   mysqldump uroot p db_name tables table1 table2 > tables.sql

这条命令可以导出特定表的数据和结构,适用于需要备份部分表的情况。

高级用法

1、条件导出

   mysqldump u user h host p where="condition" databases db tables table_name > conditional_dump.sql

这条命令允许根据指定的条件进行数据导出。

   mysqldump u root p123456 where="corp_code='5069991470' and deal_time<='20210927 23:59:59' and deal_time>='20210927 00:00:00' " databases db tables box_bill skipextendedinsert > bill_20210927.sql

2、跨服务器导出导入数据

   mysqldump host=h1 uroot proot databases db1 | mysql host=h2 uroot proot db2

这条命令可以从一个服务器上导出数据并导入到另一个服务器上。

3、生成新的binlog文件

   mysqldump uroot proot databases db1 F > /tmp/db1.sql

这条命令会在导出数据后生成一个新的binlog文件。

常用参数说明

alldatabases:导出所有数据库。

databases:指定要导出的数据库。

tables:指定要导出的表。

where:指定导出数据的条件。

nodata:只导出表结构,不包含数据。

adddropdatabase:在每个数据库创建之前添加DROP DATABASE语句。

addlocks:在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。

allowkeywords:允许创建是关键词的列名字。

compatible:导出的数据将和其他数据库或旧版本的MySQL兼容。

completeinsert:使用完整的INSERT语句(包含列名称)。

extendedinsert:使用具有多个VALUES列的INSERT语法,使导出文件更小。

FAQs

Q1: 如何只导出某个数据库中的某些表的数据而不包括结构?

A1: 可以使用以下命令:

mysqldump uroot p school nocreateinfo tables student2 students3 > data_only.sql

这将只导出student2students3表中的数据,而不包括表结构。

Q2: 如何在导出时忽略某些表?

A2: 可以使用ignoretable选项来忽略某些表。

mysqldump uroot p school ignoretable=school.student2 > without_student2.sql

这条命令会导出school数据库中除student2表外的所有内容。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1222032.html

(0)
未希的头像未希新媒体运营
上一篇 2024-10-18
下一篇 2024-10-18

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

免费注册
电话联系

400-880-8834

产品咨询
产品咨询
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购  >>点击进入