MySQL 中 mysqldump 数据库导出命令行工具
前言通常在开发过程中,Mysql 数据库的备份都是使用工具。但其实这些工具调用的仍旧是Mysql中自带的mysqldump 工具命令。所以在linux中不安装UI界面组件的情况下,使用命令行才是王道。文章目录前言命令格式OPTIONS常用命令格式还原数据库命令格式$ mysqldumpUsage: mysqldump [OPTIONS] database [tables]OR...
·
前言
通常在开发过程中,Mysql 数据库的备份都是使用工具。但其实这些工具调用的仍旧是Mysql中自带的mysqldump 工具命令。
所以在linux中不安装UI界面组件的情况下,使用命令行才是王道。
命令格式
$ mysqldump
Usage: mysqldump [OPTIONS] database [tables]
OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR mysqldump [OPTIONS] --all-databases [OPTIONS]
看命令格式的话,还是比较简单的。
那么核心就是OPTIONS 这个参数,不同的参数会导致不同的结果。那继续看一下OPTIONS的参数有哪些。
OPTIONS
摘自Mysql 官方文档
https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#mysqldump-option-summary
| Option | Name | Description | Introduced |
|---|---|---|---|
| –add-drop-database | Add DROP DATABASE statement before each CREATE DATABASE statement | ||
| –add-drop-table | Add DROP TABLE statement before each CREATE TABLE statement | ||
| –add-drop-trigger | Add DROP TRIGGER statement before each CREATE TRIGGER statement | ||
| –add-locks | Surround each table dump with LOCK TABLES and UNLOCK TABLES statements | ||
| –all-databases | Dump all tables in all databases | ||
| –allow-keywords | Allow creation of column names that are keywords | ||
| –apply-slave-statements | Include STOP SLAVE prior to CHANGE MASTER statement and START SLAVE at end of output | ||
| –bind-address | Use specified network interface to connect to MySQL Server | ||
| –character-sets-dir | Directory where character sets are installed | ||
| –column-statistics | Write ANALYZE TABLE statements to generate statistics histograms | ||
| –comments | Add comments to dump file | ||
| –compact | Produce more compact output | ||
| –compatible | Produce output that is more compatible with other database systems or with older MySQL servers | ||
| –complete-insert | Use complete INSERT statements that include column names | ||
| –compress | Compress all information sent between client and server | 8.0.18 | |
| –compression-algorithms | Permitted compression algorithms for connections to server | 8.0.18 | |
| –create-options | Include all MySQL-specific table options in CREATE TABLE statements | ||
| –databases | Interpret all name arguments as database names | ||
| –debug | Write debugging log | ||
| –debug-check | Print debugging information when program exits | ||
| –debug-info | Print debugging information, memory, and CPU statistics when program exits | ||
| –default-auth | Authentication plugin to use | ||
| –default-character-set | Specify default character set | ||
| –defaults-extra-file | Read named option file in addition to usual option files | ||
| –defaults-file | Read only named option file | ||
| –defaults-group-suffix | Option group suffix value | ||
| –delete-master-logs | On a master replication server, delete the binary logs after performing the dump operation | ||
| –disable-keys | For each table, surround INSERT statements with statements to disable and enable keys | ||
| –dump-date | Include dump date as “Dump completed on” comment if | –comments is given | |
| –dump-slave | Include CHANGE MASTER statement that lists binary log coordinates of slave’s master | ||
| –enable-cleartext-plugin | Enable cleartext authentication plugin | ||
| –events | Dump events from dumped databases | ||
| –extended-insert | Use multiple-row INSERT syntax | ||
| –fields-enclosed-by | This option is used with the | –tab option and has the same meaning as the corresponding clause for LOAD DATA | |
| –fields-escaped-by | This option is used with the | –tab option and has the same meaning as the corresponding clause for LOAD DATA | |
| –fields-optionally-enclosed-by | This option is used with the | –tab option and has the same meaning as the corresponding clause for LOAD DATA | |
| –fields-terminated-by | This option is used with the | –tab option and has the same meaning as the corresponding clause for LOAD DATA | |
| –flush-logs | Flush MySQL server log files before starting dump | ||
| –flush-privileges | Emit a FLUSH PRIVILEGES statement after dumping mysql database | ||
| –force | Continue even if an SQL error occurs during a table dump | ||
| –get-server-public-key | Request RSA public key from server | ||
| –help | Display help message and exit | ||
| –hex-blob | Dump binary columns using hexadecimal notation | ||
| –host | Host on which MySQL server is located | ||
| –ignore-error | Ignore specified errors | ||
| –ignore-table | Do not dump given table | ||
| –include-master-host-port | Include MASTER_HOST/MASTER_PORT options in CHANGE MASTER statement produced with | –dump-slave | |
| –insert-ignore | Write INSERT IGNORE rather than INSERT statements | ||
| –lines-terminated-by | This option is used with the | –tab option and has the same meaning as the corresponding clause for LOAD DATA | |
| –lock-all-tables | Lock all tables across all databases | ||
| –lock-tables | Lock all tables before dumping them | ||
| –log-error | Append warnings and errors to named file | ||
| –login-path | Read login path options from .mylogin.cnf | ||
| –master-data | Write the binary log file name and position to the output | ||
| –max-allowed-packet | Maximum packet length to send to or receive from server | ||
| –net-buffer-length | Buffer size for TCP/IP and socket communication | ||
| –network-timeout | Increase network timeouts to permit larger table dumps | ||
| –no-autocommit | Enclose the INSERT statements for each dumped table within SET autocommit = 0 and COMMIT statements | ||
| –no-create-db | Do not write CREATE DATABASE statements | ||
| –no-create-info | Do not write CREATE TABLE statements that re-create each dumped table | ||
| –no-data | Do not dump table contents | ||
| –no-defaults | Read no option files | ||
| –no-set-names | Same as | –skip-set-charset | |
| –no-tablespaces | Do not write any CREATE LOGFILE GROUP or CREATE TABLESPACE statements in output | ||
| –opt | Shorthand for --add-drop-table --add-locks --create-options --disable-keys --extended-insert --lock-tables --quick --set-charset | ||
| –order-by-primary | Dump each table’s rows sorted by its primary key, or by its first unique index | ||
| –password | Password to use when connecting to server | ||
| –pipe | Connect to server using named pipe (Windows only) | ||
| –plugin-dir | Directory where plugins are installed | ||
| –port | TCP/IP port number for connection | ||
| –print-defaults | Print default options | ||
| –protocol | Connection protocol to use | ||
| –quick | Retrieve rows for a table from the server a row at a time | ||
| –quote-names | Quote identifiers within backtick characters | ||
| –replace | Write REPLACE statements rather than INSERT statements | ||
| –result-file | Direct output to a given file | ||
| –routines | Dump stored routines (procedures and functions) from dumped databases | ||
| –server-public-key-path | Path name to file containing RSA public key | ||
| –set-charset | Add SET NAMES default_character_set to output | ||
| –set-gtid-purged | Whether to add SET @@GLOBAL.GTID_PURGED to output | ||
| –shared-memory-base-name | Name of shared memory to use for shared-memory connections | ||
| –show-create-skip-secondary-engine | Exclude SECONDARY ENGINE clause from CREATE TABLE statements | 8.0.18 | |
| –single-transaction | Issue a BEGIN SQL statement before dumping data from server | ||
| –skip-add-drop-table | Do not add a DROP TABLE statement before each CREATE TABLE statement | ||
| –skip-add-locks | Do not add locks | ||
| –skip-comments | Do not add comments to dump file | ||
| –skip-compact | Do not produce more compact output | ||
| –skip-disable-keys | Do not disable keys | ||
| –skip-extended-insert | Turn off extended-insert | ||
| –skip-opt | Turn off options set by | –opt | |
| –skip-quick | Do not retrieve rows for a table from the server a row at a time | ||
| –skip-quote-names | Do not quote identifiers | ||
| –skip-set-charset | Do not write SET NAMES statement | ||
| –skip-triggers | Do not dump triggers | ||
| –skip-tz-utc | Turn off tz-utc | ||
| –socket | Unix socket file or Windows named pipe to use | ||
| –ssl-ca | File that contains list of trusted SSL Certificate Authorities | ||
| –ssl-capath | Directory that contains trusted SSL Certificate Authority certificate files | ||
| –ssl-cert | File that contains X.509 certificate | ||
| –ssl-cipher | Permissible ciphers for connection encryption | ||
| –ssl-crl | File that contains certificate revocation lists | ||
| –ssl-crlpath | Directory that contains certificate revocation-list files | ||
| –ssl-fips-mode | Whether to enable FIPS mode on client side | ||
| –ssl-key | File that contains X.509 key | ||
| –ssl-mode | Desired security state of connection to server | ||
| –tab | Produce tab-separated data files | ||
| –tables | Override | –databases or -B option | |
| –tls-ciphersuites | Permissible TLSv1.3 ciphersuites for encrypted connections | 8.0.16 | |
| –tls-version | Permissible TLS protocols for encrypted connections | ||
| –triggers | Dump triggers for each dumped table | ||
| –tz-utc | Add SET TIME_ZONE=’+00:00’ to dump file | ||
| –user | MySQL user name to use when connecting to server | ||
| –verbose | Verbose mode | ||
| –version | Display version information and exit | ||
| –where | Dump only rows selected by given WHERE condition | ||
| –xml | Produce XML output | ||
| –zstd-compression-level | Compression level for connections to server that use zstd compression | 8.0.18 |
常用命令格式
备份全部数据库
$ mysqldump -uroot -p --all-databases > /backup/mysqldump/all.db
备份指定数据库
$ mysqldump -uroot -p test > /backup/mysqldump/test.db
备份指定数据库中的指定表(多个表用空格间隔)
$ mysqldump -uroot -p mysql db event > /backup/mysqldump/2table.db
还原数据库
系统行命令
$ mysqladmin -uroot -p create db_name
$ mysql -uroot -p db_name < /backup/mysqldump/db_name.db
soure 方法
$ mysql > use db_name
$ mysql > source /backup/mysqldump/db_name.db
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)