MySQL——mysqldump参数

本文介绍了mysqldump命令,主要用于MySQL数据库的表结构和数据备份。通过不同参数,可以实现备份全部内容、仅备份结构或仅备份数据。例如,`mysqldump -u root -p db_calm_easy tb_poet > f:/poet.sql`将备份表结构和数据,而`--no-data`和`--no-create-info`参数则分别用于只备份结构或数据。了解这些参数有助于更灵活地进行数据库管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysqldump参数

日前,因接手线上项目单表数据过大,对项目进行优化,添加日报表优化查询。需要对线上数据线下处理,并将处理结果同步至线上日报表,接触到了mysqldump命令,对其参数进行简单记录说明。来源-MySQL 5.6 Reference Manual 官方文档

mysqldump,顾名思义,对mysql库表的dump备份。主要用来对mysql数据库表结构级数据的转储,可以使用该命令将表结构、数据文件形式输出,从而进行数据库表的备份迁移。

mysqldump使用格式 

mysqldump -u [用户名] -p [参数1,参数2] > [文件位置,如 F:/out.sql]

mysqldump应用 

mysqldump -u root -p db_calm_easy tb_poet > f:/poet.sql

完整输出结果为

-- MySQL dump 10.13  Distrib 5.5.23, for Win64 (x86)
--
-- Host: localhost    Database: db_calm_easy
-- ------------------------------------------------------
-- Server version   5.5.23

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;

--
-- Table structure for table `tb_poet`
--

DROP TABLE IF EXISTS `tb_poet`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tb_poet` (
  `poet_id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
  `poet_name` varchar(50) NOT NULL COMMENT '诗人名字',
  `dynasty` int(11) DEFAULT NULL COMMENT '诗人朝代',
  `gender` tinyint(4) DEFAULT '0' COMMENT '性别 0-男 1-女',
  `famous_for` varchar(500) DEFAULT NULL COMMENT '著作',
  `birth_year` int(11) DEFAULT NULL COMMENT '生年',
  `death_year` int(11) DEFAULT NULL COMMENT '卒年',
  `create_time` datetime DEFAULT NULL COMMENT '记录时间',
  `last_modified_time` datetime DEFAULT NULL COMMENT '最近修改时间',
  PRIMARY KEY (`poet_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='诗人表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tb_poet`
--

LOCK TABLES `tb_poet` WRITE;
/*!40000 ALTER TABLE `tb_poet` DISABLE KEYS */;
INSERT INTO `tb_poet` VALUES (1,'李白',2,0,'《将进酒》,《蜀道难》',701,762,'2017-05-01 19:34:43','2017-05-01 19:34:48');
/*!40000 ALTER TABLE `tb_poet` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2017-05-31 19:37:12

对比执行结果为标准输出格式,但实际中我们可能只需要备份表结构或表数据

备份表结构和数据

mysqldump -u root -p db_calm_easy tb_poet > f:/poet.sql

仅备份表结构

mysqldump –no-data -u root -p db_calm_easy tb_poet > f:/poet.sql

仅备份表数据

mysqldump –no-create-info -u root -p db_calm_easy tb_poet > f:/poet.sql

此外,因为操作权限的原因,可能我们也不希望备份文件中有drop此类关键字,可以指定参数定制输出样式,可以使用source命令执行备份文件。

source f:/poet.sql

参数详情-MySQL 5.6 Reference Manual 官方

参数参数使用
–add-drop-databaseAdd DROP DATABASE statement before each CREATE DATABASE statement
–add-drop-tableAdd DROP TABLE statement before each CREATE TABLE statement
–add-drop-triggerAdd DROP TRIGGER statement before each CREATE TRIGGER statement
–add-locksSurround each table dump with LOCK TABLES and UNLOCK TABLES statements
–all-databasesDump all tables in all databases
–allow-keywordsAllow creation of column names that are keywords
–apply-slave-statementsInclude STOP SLAVE prior to CHANGE MASTER statement and START SLAVE at end of output
–bind-addressUse specified network interface to connect to MySQL Server
–character-sets-dirDirectory where character sets are installed
–commentsAdd comments to dump file
–compactProduce more compact output
–compatibleProduce output that is more compatible with other database systems or with older MySQL servers
–complete-insertUse complete INSERT statements that include column names
–compressCompress all information sent between client and server
–create-optionsInclude all MySQL-specific table options in CREATE TABLE statements
–databasesInterpret all name arguments as database names
–debugWrite debugging log
–debug-checkPrint debugging information when program exits
–debug-infoPrint debugging information, memory, and CPU statistics when program exits
–default-authAuthentication plugin to use
–default-character-setSpecify default character set
–defaults-extra-fileRead named option file in addition to usual option files
–defaults-fileRead only named option file
–defaults-group-suffixOption group suffix value
–delayed-insertWrite INSERT DELAYED statements rather than INSERT statements
–delete-master-logsOn a master replication server, delete the binary logs after performing the dump operation
–disable-keysFor each table, surround INSERT statements with statements to disable and enable keys
–dump-dateInclude dump date as “Dump completed on” comment if –comments is given
–dump-slaveInclude CHANGE MASTER statement that lists binary log coordinates of slave’s master
–enable-cleartext-pluginEnable cleartext authentication plugin
–eventsDump events from dumped databases
–extended-insertUse multiple-row INSERT syntax
–fields-enclosed-byThis option is used with the –tab option and has the same meaning as the corresponding clause for LOAD DATA INFILE
–fields-escaped-byThis option is used with the –tab option and has the same meaning as the corresponding clause for LOAD DATA INFILE
–fields-optionally-enclosed-byThis option is used with the –tab option and has the same meaning as the corresponding clause for LOAD DATA INFILE
–fields-terminated-byThis option is used with the –tab option and has the same meaning as the corresponding clause for LOAD DATA INFILE
–flush-logsFlush MySQL server log files before starting dump
–flush-privilegesEmit a FLUSH PRIVILEGES statement after dumping mysql database
–forceContinue even if an SQL error occurs during a table dump
–helpDisplay help message and exit
–hex-blobDump binary columns using hexadecimal notation
–hostHost to connect to (IP address or hostname)
–ignore-tableDo not dump given table
–include-master-host-portInclude MASTER_HOST/MASTER_PORT options in CHANGE MASTER statement produced with –dump-slave
–insert-ignoreWrite INSERT IGNORE rather than INSERT statements
–lines-terminated-byThis option is used with the –tab option and has the same meaning as the corresponding clause for LOAD DATA INFILE
–lock-all-tablesLock all tables across all databases
–lock-tablesLock all tables before dumping them
–log-errorAppend warnings and errors to named file
–login-pathRead login path options from .mylogin.cnf
–master-dataWrite the binary log file name and position to the output
–max_allowed_packetMaximum packet length to send to or receive from server
–net_buffer_lengthBuffer size for TCP/IP and socket communication
–no-autocommitEnclose the INSERT statements for each dumped table within SET autocommit = 0 and COMMIT statements
–no-create-dbDo not write CREATE DATABASE statements
–no-create-infoDo not write CREATE TABLE statements that re-create each dumped table
–no-dataDo not dump table contents
–no-defaultsRead no option files
–no-set-namesSame as –skip-set-charset
–no-tablespacesDo not write any CREATE LOGFILE GROUP or CREATE TABLESPACE statements in output
–optShorthand for –add-drop-table –add-locks –create-options –disable-keys –extended-insert –lock-tables –quick –set-charset.
–order-by-primaryDump each table’s rows sorted by its primary key, or by its first unique index
–passwordPassword to use when connecting to server
–pipeOn Windows, connect to server using named pipe
–plugin-dirDirectory where plugins are installed
–portTCP/IP port number to use for connection
–print-defaultsPrint default options
–protocolConnection protocol to use
–quickRetrieve rows for a table from the server a row at a time
–quote-namesQuote identifiers within backtick characters
–replaceWrite REPLACE statements rather than INSERT statements
–result-fileDirect output to a given file
–routinesDump stored routines (procedures and functions) from dumped databases
–secure-authDo not send passwords to server in old (pre-4.1) format
–set-charsetAdd SET NAMES default_character_set to output
–set-gtid-purgedWhether to add SET @@GLOBAL.GTID_PURGED to output
–shared-memory-base-nameThe name of shared memory to use for shared-memory connections
–single-transactionIssue a BEGIN SQL statement before dumping data from server
–skip-add-drop-tableDo not add a DROP TABLE statement before each CREATE TABLE statement
–skip-add-locksDo not add locks
–skip-commentsDo not add comments to dump file
–skip-compactDo not produce more compact output
–skip-disable-keysDo not disable keys
–skip-extended-insertTurn off extended-insert
–skip-optTurn off options set by –opt
–skip-quickDo not retrieve rows for a table from the server a row at a time
–skip-quote-namesDo not quote identifiers
–skip-set-charsetDo not write SET NAMES statement
–skip-triggersDo not dump triggers
–skip-tz-utcTurn off tz-utc
–socketFor connections to localhost, the Unix socket file to use
–sslEnable secure connection
–ssl-caPath of file that contains list of trusted SSL CAs
–ssl-capathPath of directory that contains trusted SSL CA certificates in PEM format
–ssl-certPath of file that contains X509 certificate in PEM format
–ssl-cipherList of permitted ciphers to use for connection encryption
–ssl-crlPath of file that contains certificate revocation lists
–ssl-crlpathPath of directory that contains certificate revocation list files
–ssl-keyPath of file that contains X509 key in PEM format
–ssl-modeSecurity state of connection to server
–ssl-verify-server-certVerify server certificate Common Name value against host name used when connecting to server
–tabProduce tab-separated data files
–tablesOverride –databases or -B option
–triggersDump triggers for each dumped table
–tz-utcAdd SET TIME_ZONE=’+00:00’ to dump file
–userMySQL user name to use when connecting to server
–verboseVerbose mode
–versionDisplay version information and exit
–whereDump only rows selected by given WHERE condition
–xmlProduce XML output
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值