mysqldump
命令。以下是一个示例:,,“bash,mysqldump u 用户名 p 密码 数据库名 > 导出文件.sql,
“mysqldump工具介绍
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
这将只导出student2
和students3
表中的数据,而不包括表结构。
Q2: 如何在导出时忽略某些表?
A2: 可以使用ignoretable
选项来忽略某些表。
mysqldump uroot p school ignoretable=school.student2 > without_student2.sql
这条命令会导出school
数据库中除student2
表外的所有内容。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1222032.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复