日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL 命令行工具之 mysqldump 深入研究

發布時間:2024/1/1 数据库 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL 命令行工具之 mysqldump 深入研究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文源自:https://www.cnblogs.com/digdeep/p/4898622.html

mysqldump 是MySQL的一個命令行工具,用于邏輯備份。可以將數據庫和表的結構,以及表中的數據分別導出成:create database, create table, insert into的sql語句。當然也可以導出 存儲過程,觸發器,函數,調度事件(events)。不管是程序員,還是DBA都會經常使用的一個工具。

1. mysqldump --help

mysqldump 的選項很多,我們看一下他的幫助文檔:

mysqldump Ver 10.13 Distrib 5.6.26, for linux-glibc2.5 (i686) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.Dumping structure and contents of MySQL databases and tables. Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS]Default options are read from the following files in the given order: /etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf The following groups are read: mysqldump client The following options may be given as the first argument: --print-defaults Print the program argument list and exit. --no-defaults Don't read default options from any option file,except for login file. --defaults-file=# Only read default options from the given file #. --defaults-extra-file=# Read this file after the global files are read. --defaults-group-suffix=#Also read groups with concat(group, suffix) --login-path=# Read this path from the login file.-A, --all-databases Dump all the databases. This will be same as --databaseswith all databases selected.-Y, --all-tablespaces Dump all the tablespaces.-y, --no-tablespaces Do not dump any tablespace information.--add-drop-database Add a DROP DATABASE before each create.--add-drop-table Add a DROP TABLE before each create.(Defaults to on; use --skip-add-drop-table to disable.)--add-drop-trigger Add a DROP TRIGGER before each create.--add-locks Add locks around INSERT statements.(Defaults to on; use --skip-add-locks to disable.)--allow-keywords Allow creation of column names that are keywords.--apply-slave-statements Adds 'STOP SLAVE' prior to 'CHANGE MASTER' and 'STARTSLAVE' to bottom of dump.--bind-address=name IP address to bind to.--character-sets-dir=name Directory for character set files.-i, --comments Write additional information.(Defaults to on; use --skip-comments to disable.)--compatible=name Change the dump to be compatible with a given mode. Bydefault tables are dumped in a format optimized forMySQL. Legal modes are: ansi, mysql323, mysql40,postgresql, oracle, mssql, db2, maxdb, no_key_options,no_table_options, no_field_options. One can use severalmodes separated by commas. Note: Requires MySQL serverversion 4.1.0 or higher. This option is ignored withearlier server versions.--compact Give less verbose output (useful for debugging). Disablesstructure comments and header/footer constructs. Enablesoptions --skip-add-drop-table --skip-add-locks--skip-comments --skip-disable-keys --skip-set-charset.-c, --complete-insert Use complete insert statements.-C, --compress Use compression in server/client protocol.-a, --create-options Include all MySQL specific create options.(Defaults to on; use --skip-create-options to disable.)-B, --databases Dump several databases. Note the difference in usage; inthis case no tables are given. All name arguments areregarded as database names. 'USE db_name;' will beincluded in the output.-#, --debug[=#] This is a non-debug version. Catch this and exit.--debug-check Check memory and open file usage at exit.--debug-info Print some debug info at exit.--default-character-set=name Set the default character set.--delayed-insert Insert rows with INSERT DELAYED.--delete-master-logs Delete logs on master after backup. This automaticallyenables --master-data.-K, --disable-keys '/*!40000 ALTER TABLE tb_name DISABLE KEYS */; and'/*!40000 ALTER TABLE tb_name ENABLE KEYS */; will be putin the output.(Defaults to on; use --skip-disable-keys to disable.)--dump-slave[=#] This causes the binary log position and filename of themaster to be appended to the dumped data output. Settingthe value to 1, will printit as a CHANGE MASTER commandin the dumped data output; if equal to 2, that commandwill be prefixed with a comment symbol. This option willturn --lock-all-tables on, unless --single-transaction isspecified too (in which case a global read lock is onlytaken a short time at the beginning of the dump - don'tforget to read about --single-transaction below). In allcases any action on logs will happen at the exact momentof the dump.Option automatically turns --lock-tables off.-E, --events Dump events.-e, --extended-insert Use multiple-row INSERT syntax that include severalVALUES lists.(Defaults to on; use --skip-extended-insert to disable.)--fields-terminated-by=name Fields in the output file are terminated by the givenstring.--fields-enclosed-by=name Fields in the output file are enclosed by the givencharacter.--fields-optionally-enclosed-by=name Fields in the output file are optionally enclosed by thegiven character.--fields-escaped-by=name Fields in the output file are escaped by the givencharacter.-F, --flush-logs Flush logs file in server before starting dump. Note thatif you dump many databases at once (using the option--databases= or --all-databases), the logs will beflushed for each database dumped. The exception is whenusing --lock-all-tables or --master-data: in this casethe logs will be flushed only once, corresponding to themoment all tables are locked. So if you want your dumpand the log flush to happen at the same exact moment youshould use --lock-all-tables or --master-data with--flush-logs.--flush-privileges Emit a FLUSH PRIVILEGES statement after dumping the mysqldatabase. This option should be used any time the dumpcontains the mysql database and any other database thatdepends on the data in the mysql database for properrestore. -f, --force Continue even if we get an SQL error.-?, --help Display this help message and exit.--hex-blob Dump binary strings (BINARY, VARBINARY, BLOB) inhexadecimal format.-h, --host=name Connect to host.--ignore-table=name Do not dump the specified table. To specify more than onetable to ignore, use the directive multiple times, oncefor each table. Each table must be specified with bothdatabase and table names, e.g.,--ignore-table=database.table.--include-master-host-port Adds 'MASTER_HOST=<host>, MASTER_PORT=<port>' to 'CHANGEMASTER TO..' in dump produced with --dump-slave.--insert-ignore Insert rows with INSERT IGNORE.--lines-terminated-by=name Lines in the output file are terminated by the givenstring.-x, --lock-all-tables Locks all tables across all databases. This is achievedby taking a global read lock for the duration of thewhole dump. Automatically turns --single-transaction and--lock-tables off.-l, --lock-tables Lock all tables for read.(Defaults to on; use --skip-lock-tables to disable.)--log-error=name Append warnings and errors to given file.--master-data[=#] This causes the binary log position and filename to beappended to the output. If equal to 1, will print it as aCHANGE MASTER command; if equal to 2, that command willbe prefixed with a comment symbol. This option will turn--lock-all-tables on, unless --single-transaction isspecified too (in which case a global read lock is onlytaken a short time at the beginning of the dump; don'tforget to read about --single-transaction below). In allcases, any action on logs will happen at the exact momentof the dump. Option automatically turns --lock-tablesoff.--max-allowed-packet=# The maximum packet length to send to or receive fromserver.--net-buffer-length=# The buffer size for TCP/IP and socket communication.--no-autocommit Wrap tables with autocommit/commit statements.-n, --no-create-db Suppress the CREATE DATABASE ... IF EXISTS statement thatnormally is output for each dumped database if--all-databases or --databases is given.-t, --no-create-info Don't write table creation info.-d, --no-data No row information.-N, --no-set-names Same as --skip-set-charset.--opt Same as --add-drop-table, --add-locks, --create-options,--quick, --extended-insert, --lock-tables, --set-charset,and --disable-keys. Enabled by default, disable with--skip-opt.--order-by-primary Sorts each table's rows by primary key, or first uniquekey, if such a key exists. Useful when dumping a MyISAMtable to be loaded into an InnoDB table, but will makethe dump itself take considerably longer.-p, --password[=name] Password to use when connecting to server. If password isnot given it's solicited on the tty.-P, --port=# Port number to use for connection.--protocol=name The protocol to use for connection (tcp, socket, pipe,memory).-q, --quick Don't buffer query, dump directly to stdout.(Defaults to on; use --skip-quick to disable.)-Q, --quote-names Quote table and column names with backticks (`).(Defaults to on; use --skip-quote-names to disable.)--replace Use REPLACE INTO instead of INSERT INTO.-r, --result-file=name Direct output to a given file. This option should be usedin systems (e.g., DOS, Windows) that use carriage-returnlinefeed pairs (\r\n) to separate text lines. This optionensures that only a single newline is used.-R, --routines Dump stored routines (functions and procedures).--set-charset Add 'SET NAMES default_character_set' to the output.(Defaults to on; use --skip-set-charset to disable.)--set-gtid-purged[=name] Add 'SET @@GLOBAL.GTID_PURGED' to the output. Possiblevalues for this option are ON, OFF and AUTO. If ON isused and GTIDs are not enabled on the server, an error isgenerated. If OFF is used, this option does nothing. IfAUTO is used and GTIDs are enabled on the server, 'SET@@GLOBAL.GTID_PURGED' is added to the output. If GTIDsare disabled, AUTO does nothing. If no value is suppliedthen the default (AUTO) value will be considered.--single-transaction Creates a consistent snapshot by dumping all tables in asingle transaction. Works ONLY for tables stored instorage engines which support multiversioning (currentlyonly InnoDB does); the dump is NOT guaranteed to beconsistent for other storage engines. While a--single-transaction dump is in process, to ensure avalid dump file (correct table contents and binary logposition), no other connection should use the followingstatements: ALTER TABLE, DROP TABLE, RENAME TABLE,TRUNCATE TABLE, as consistent snapshot is not isolatedfrom them. Option automatically turns off --lock-tables.--dump-date Put a dump date to the end of the output.(Defaults to on; use --skip-dump-date to disable.)--skip-opt Disable --opt. Disables --add-drop-table, --add-locks,--create-options, --quick, --extended-insert,--lock-tables, --set-charset, and --disable-keys.-S, --socket=name The socket file to use for connection.--secure-auth Refuse client connecting to server if it uses old(pre-4.1.1) protocol.(Defaults to on; use --skip-secure-auth to disable.)--ssl Enable SSL for connection (automatically enabled withother flags).--ssl-ca=name CA file in PEM format (check OpenSSL docs, implies--ssl).--ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).--ssl-cert=name X509 cert in PEM format (implies --ssl).--ssl-cipher=name SSL cipher to use (implies --ssl).--ssl-key=name X509 key in PEM format (implies --ssl).--ssl-crl=name Certificate revocation list (implies --ssl).--ssl-crlpath=name Certificate revocation list path (implies --ssl).--ssl-verify-server-cert Verify server's "Common Name" in its cert againsthostname used when connecting. This option is disabled bydefault.-T, --tab=name Create tab-separated textfile for each table to givenpath. (Create .sql and .txt files.) NOTE: This only worksif mysqldump is run on the same machine as the mysqldserver.--tables Overrides option --databases (-B).--triggers Dump triggers for each dumped table.(Defaults to on; use --skip-triggers to disable.)--tz-utc SET TIME_ZONE='+00:00' at top of dump to allow dumping ofTIMESTAMP data when a server has data in different timezones or data is being moved between servers withdifferent time zones.(Defaults to on; use --skip-tz-utc to disable.)-u, --user=name User for login if not current user.-v, --verbose Print info about the various stages.-V, --version Output version information and exit.-w, --where=name Dump only selected records. Quotes are mandatory.-X, --xml Dump a database as well formed XML.--plugin-dir=name Directory for client-side plugins.--default-auth=name Default authentication client-side plugin to use.Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) --------------------------------- ---------------------------------------- all-databases FALSE all-tablespaces FALSE no-tablespaces FALSE add-drop-database FALSE add-drop-table TRUE add-drop-trigger FALSE add-locks TRUE allow-keywords FALSE apply-slave-statements FALSE bind-address (No default value) character-sets-dir (No default value) comments TRUE compatible (No default value) compact FALSE complete-insert FALSE compress FALSE create-options TRUE databases FALSE debug-check FALSE debug-info FALSE default-character-set utf8 delayed-insert FALSE delete-master-logs FALSE disable-keys TRUE dump-slave 0 events FALSE extended-insert TRUE fields-terminated-by (No default value) fields-enclosed-by (No default value) fields-optionally-enclosed-by (No default value) fields-escaped-by (No default value) flush-logs FALSE flush-privileges FALSE force FALSE hex-blob FALSE host (No default value) include-master-host-port FALSE insert-ignore FALSE lines-terminated-by (No default value) lock-all-tables FALSE lock-tables TRUE log-error (No default value) master-data 0 max-allowed-packet 25165824 net-buffer-length 1046528 no-autocommit FALSE no-create-db FALSE no-create-info FALSE no-data FALSE order-by-primary FALSE port 0 quick TRUE quote-names TRUE replace FALSE routines FALSE set-charset TRUE single-transaction FALSE dump-date TRUE socket /var/lib/mysql/mysql.sock secure-auth TRUE ssl FALSE ssl-ca (No default value) ssl-capath (No default value) ssl-cert (No default value) ssl-cipher (No default value) ssl-key (No default value) ssl-crl (No default value) ssl-crlpath (No default value) ssl-verify-server-cert FALSE tab (No default value) triggers TRUE tz-utc TRUE user (No default value) verbose FALSE where (No default value) plugin-dir (No default value) default-auth (No default value)

總體看來,幫助文檔分成了兩個部分。前一個部分是對各種選項的說明,后一個部分是mysqldump的各種選項的默認值。

mysqldump擁有超多的選項,這樣說明它很靈活,功能強大。為了好理解,可以將他的眾多的選項和參數,根據他們的功能分為幾個類別來介紹。

在此之前,我們還要搞清楚mysqldump的所有的默認選項的值,它們的含義。

2. mysqldump 默認選項:

Variables (--variable-name=value) and boolean options {FALSE|TRUE} Value (after reading options) --------------------------------- ---------------------------------------- all-databases FALSE all-tablespaces FALSE no-tablespaces FALSE add-drop-database FALSE add-drop-table TRUE add-drop-trigger FALSE add-locks TRUE allow-keywords FALSE apply-slave-statements FALSE bind-address (No default value) character-sets-dir (No default value) comments TRUE compatible (No default value) compact FALSE complete-insert FALSE compress FALSE create-options TRUE databases FALSE debug-check FALSE debug-info FALSE default-character-set utf8 delayed-insert FALSE delete-master-logs FALSE disable-keys TRUE dump-slave 0 events FALSE extended-insert TRUE fields-terminated-by (No default value) fields-enclosed-by (No default value) fields-optionally-enclosed-by (No default value) fields-escaped-by (No default value) flush-logs FALSE flush-privileges FALSE force FALSE hex-blob FALSE host (No default value) include-master-host-port FALSE insert-ignore FALSE lines-terminated-by (No default value) lock-all-tables FALSE lock-tables TRUE log-error (No default value) master-data 0 max-allowed-packet 25165824 net-buffer-length 1046528 no-autocommit FALSE no-create-db FALSE no-create-info FALSE no-data FALSE order-by-primary FALSE port 0 quick TRUE quote-names TRUE replace FALSE routines FALSE set-charset TRUE single-transaction FALSE dump-date TRUE socket /var/lib/mysql/mysql.sock secure-auth TRUE ssl FALSE ssl-ca (No default value) ssl-capath (No default value) ssl-cert (No default value) ssl-cipher (No default value) ssl-key (No default value) ssl-crl (No default value) ssl-crlpath (No default value) ssl-verify-server-cert FALSE tab (No default value) triggers TRUE tz-utc TRUE user (No default value) verbose FALSE where (No default value) plugin-dir (No default value) default-auth (No default value)

這些默認值,有的是 false, 有的是 true,有的沒有默認值。

我們要關注的是 默認為 true,也就是 mysqldump 默認給我打開的選擇,它們的具體含義如下

add-drop-table TRUE 表示在生成表結構語句之前,生成對應的 DROP TABLE IF EXISTS `table_name`; 語句 add-locks TRUE 表示在生成表中數據的 insert into `table_name` values(...) 之前生成 LOCK TABLES `tab` WRITE;語句 comments TRUE 表示生成備注,就是所有 -- 開頭的說明,比如:-- Dumping data for for table `tab`. 最好還是啟用; create-options TRUE 表示在生成表結構時會生成:ENGINE=InnoDB AUTO_INCREMENT=827 DEFAULT CHARSET=utf8; 附加建表選項 default-character-set utf8 指定語句:/*!40101 SET NAMES utf8 */;中的字符集;可能你需要改成 --default-character-set=utf8mb4 disable-keys TRUE 表示生產 insert 語句之前,生成:/*!40000 ALTER TABLE `tbl` DISABLE KEYS */; 可以加快insert速度; extended-insert TRUE 表示生產的insert是insert into `tbl` values(...),(...),數據行按照net-buffer-length分割合并成多個batch insert lock-tables TRUE 表示在導出的過程中會鎖定所有表; max-allowed-packet 25165824 最大支持 24M 的數據包; net-buffer-length 1046528 1M大小的socket buffer quick TRUE 表示在導出語句時,不緩存,直接輸出到控制臺或者文件中; quote-names TRUE 表示對表名和列名使用 `` 符號包裹;防止它們是關鍵字時會出錯; set-charset TRUE default-character-set=utf8指定字符集,而--set-charset=1/0 表示是否生成/*!40101 SET NAMES utf8 */; dump-date TRUE 表示是否在導出文件的末尾生成導出時間:-- Dump completed on 2015-09-15 11:15:10 secure-auth TRUE 表示登錄判斷密碼時使用新的加密算法,拒絕就的加密算法 triggers TRUE 表示生成觸發器腳本; tz-utc TRUE 表示是否生成:/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */; /*!40103 SET TIME_ZONE='+00:00' */;

如果要關閉這些打開的默認選項時,需要明確指定:mysqldump -uxxx -p aazj?--extended-insert=0?Users > Users.sql; =0 表示關閉選項。

上面這些默認選項,最好結合一個例子來理解:

-- MySQL dump 10.13 Distrib 5.6.26, for linux-glibc2.5 (i686) -- -- Host: localhost Database: gs -- ------------------------------------------------------ -- Server version 5.6.26-log/*!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 */;-- -- Current Database: `gs` --CREATE DATABASE /*!32312 IF NOT EXISTS*/ `gs` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin */;USE `gs`;-- -- Table structure for table `user` --DROP TABLE IF EXISTS `user`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `user` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(30) COLLATE utf8mb4_bin DEFAULT NULL,`sex` tinyint(4) DEFAULT NULL,`phone` varchar(20) COLLATE utf8mb4_bin DEFAULT NULL,`addr` varchar(255) COLLATE utf8mb4_bin DEFAULT NULL,PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin; /*!40101 SET character_set_client = @saved_cs_client */;-- -- Dumping data for table `user` --LOCK TABLES `user` WRITE; /*!40000 ALTER TABLE `user` DISABLE KEYS */; INSERT INTO `user` VALUES (1,'yuanfang',1,'14465463786','hangzhou'),(2,'Andy',0,'14465463786','beijing'),(3,'peter',0,'14465463786','Hongkong'); /*!40000 ALTER TABLE `user` 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 2015-10-22 10:16:37

2. mysqldump 登錄服務器的相關選項

Default options are read from the following files in the given order:

/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf


The following groups are read:?mysqldump和client
The following options may be given as the first argument:
--no-defaults?????????? Don't read default options from any option file, except for login file.
--defaults-file=#?????? Only read default options from the given file #.
--defaults-extra-file=# Read this file after the global files are read.
--defaults-group-suffix=# Also read groups with concat(group, suffix)
--login-path=#????????? Read this path from the login file.

1)mysqldump 作為一個客戶端工具,它會去上述目錄中尋找 my.cnf 文件,然后讀取該文件中?[mysqldump] 和 [client]?下面的選項;

2)那些 defaults 相關的選項都是為了另外指定 配置文件和登錄文件,極少使用;

? -u, --user=name???? User for login if not current user.

? -p, --password[=name] Password to use when connecting to server. If password is not given it's solicited on the tty.

? -h, --host=name???? Connect to host.

? -P, --port=#??????? Port number to use for connection.
? --protocol=name???? The protocol to use for connection (tcp, socket, pipe, memory).

? --max-allowed-packet=#? The maximum packet length to send to or receive from server.
? --net-buffer-length=#????? The buffer size for TCP/IP and socket communication.

3)這幾個選項指定 登錄的用戶名,密碼,mysqld IP地址,端口,連接使用的協議等等。

??? 一般常用的是 -h192.168.2.xx -uxxx -p ,如果mysqld默認端口不是3306,則需要使用 -Pxxx 指定端口.

??? --max-allowed-packet 我們一般配置在my.cnf中。--net-buffer-length 是為了優化網絡連接的socket buffer.

使用示例:?mysqldump -h192.168.1.20 -uxxx -p -P3057

3. mysqldump 選擇備份內容的相關選項

我們可以選擇備份所有數據庫,某幾個數據庫,某一個數據庫,某一個數據庫中的某幾個表,某一個數據庫中的一個表;

可以選擇是否備份 存儲過程和函數,觸發器,調度事件.

1)選擇導出的數據庫 和 表:

-A, --all-databases Dump all the databases. This will be same as --databases with all databases selected.

-B, --databases???? Dump several databases. Note the difference in usage; in this case no tables are given. All name arguments are

??????????????????????????? regarded as database names. 'USE db_name;' will be included in the output.

database [tables]?? 導出數據庫?database 中的表結構 和 表中數據;

2)選擇是否導出 建庫,建表語句,是否導出 表中的數據:

-n,?--no-create-db? Suppress the CREATE DATABASE ... IF NOT EXISTS statement that normally is output for each dumped database if?

???????????????????????????? --all-databases or --databases is given. (不導出建庫語句: CREATE DATABASE,也就是不導庫結構)

-t,?--no-create-info?Don't write table creation info. (不導出建表語句)

-d,?--no-data???????? No row information. (不導出數據,有時我們僅僅需要導出表結構,也就是建表語句就行了)

3)選擇是否導出 存儲過程和函數,觸發器,調度事件:

-R, --routines????? Dump stored routines (functions and procedures). (導出存儲過程和函數)

--triggers??????????? Dump triggers for each dumped table. (Defaults to on; use --skip-triggers to disable.) (導出觸發器)

--skip-triggers???? 不導出觸發器

-E, --events??????? Dump events. 導出調度事件(根據備份的目的進行選擇,如果是搭建slave,那么就不要導出events.)

4)指定不導出 某個庫的某個表:

--ignore-table=name?? Do not dump the specified table. To specify more than one table to ignore, use the directive multiple times,

???????????????????????????????? once for each table.? Each table must be specified with both database and table names,

???????????????????????????????? e.g.,? --ignore-table=database.table. (在導出數據庫時,排除某個或者某幾個表不導出)

5) 按照 where 條件導出:

?? -w, --where='where_condition' Dump only selected records. Quotes are mandatory.

6)使用示例:

Dumping structure and contents of MySQL databases and tables.
Usage: mysqldump [OPTIONS] database [tables]
OR?????? mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR?????? mysqldump [OPTIONS] --all-databases [OPTIONS]

1> 導出單表的結構和數據:mysqldump -uxxx -p db1 tb1 > tb1.sql; 導出數據庫 db1 中的 表 tb1 的表結構 和 表中數據;

2> 導出多表的結構和數據:mysqldump -uxxx -p db1 tb1 tb2 > tb1_tb2.sql; 導出數據庫 db1 中的 表 tb1、tb2 的表結構 和 表中數據;

3> 導出單表的結構:mysqldump -uxxx -p?--no-data?db1 tb1 > tb1.sql; 導出數據庫 db1 中的 表 tb1 的表結構; 其實也可以使用: show create table tb1

4> 我們無法使用 mysqldump 到達 只導出某個或某幾個表的數據,而不導出建表語句的目的。

???? 但是我們可以使用 select * from table into outfile 'file.sql', 比如:select * from Users into outfile '/tmp/Users.sql';?注意需要對目錄的寫權限。

5> 導出單個庫中庫結構、表結構、表數據:mysqldump -uxxx -p?--databases?db1 > db1.sql

6> 導出多個庫中庫結構、表結構、表數據:mysqldump -uxxx -p?--databases?db1 db2 > db1_db2.sql

7> 導出單個庫中庫結構、表結構、不要表數據:mysqldump -uxxx -p?--no-data?--databases db1 > db1.sql

8> 導出單個庫中數據,不要庫結構和表結構:mysqldump -uxxx -p?--no-create-db --no-create-info --databases?db1 > db1.sql

9> 導出多個庫中庫結構、表結構、不要表數據:mysqldump -uxxx -p?--no-data?--databases?db1 db2 > db1_db2.sql

10> 導出數據庫中所有 庫 的庫結構,表結構,數據:mysqldump -uxxx -p?--all-databases?> all.sql

11> 導出數據庫中所有 庫 的庫結構,表結構,不要數據:mysqldump -uxxx -p --all-databases?--no-data?> all.sql

12> 導出單個庫中庫結構、表結構、表數據,排除某個表:mysqldump -uxxx -p?--databases db1?--ignore-table=db1.test?> db1.sql

4. mysqldump 事務 和 數據一致性(鎖) 的相關選項

在使用mysqldump邏輯備份時,事務和數據一致性的選項時至關重要的。

1) --single-transaction?
????? Creates a?consistent snapshot?by dumping all tables?in a single transaction.?Works ONLY for?tables stored in storage engines which

????? support multiversioning (currently only?InnoDB?does); the dump is?NOT guaranteed to be consistent for other storage engines.

????? While a --single-transaction dump is in process, to ensure a valid dump file (correct table contents and binary log position), no other

????? connection should use the following statements:?ALTER TABLE, DROP TABLE, RENAME TABLE, TRUNCATE TABLE, as consistent

????? snapshot is not isolated from them. Option automatically turns off --lock-tables.

???? --single-transaction 可以得到一致性的導出結果。它是通過將導出行為放入一個事務中來實現的。

???? 它有一些要求:只能是 innodb 引擎;導出的過程中,不能有任何人執行 alter table, drop table, rename table, truncate table等DDL語句

???? 實際上DDL會被事務所阻塞,因為事務持有表的metadata lock 的共享鎖,而DDL會申請metadata lock的互斥鎖,所以阻塞了。

?????--single-transaction 會自動關閉 --lock-tables 選項;上面我們說到mysqldump默認會打開了--lock-tables,它會在導出過程中鎖定所有表。

??? 因為 --single-transaction 會自動關閉--lock-tables,所以單獨使用--single-transaction是不會使用鎖的。與 --master-data 合用才有鎖。

2)--lock-tables

???? 該選項默認打開的,上面已經說到了。它的作用是在導出過程中鎖定所有表。--single-transaction 和?--lock-all-tables 都會將該選項關閉。

3)--lock-all-tables?
?????? Locks all tables across all databases. This is achieved by?taking a global?read?lock for the?duration?of the?whole?dump.
?????? Automatically turns --single-transaction and --lock-tables off. 啟用該選項,會自動關閉 --single-transaction 和 --lock-tables.

上面三個選項中,只有 --lock-tables 默認是打開的;打開 --single-transaction 或者 打開 --lock-all-tables 都將關閉 --lock-tables. 而--lock-all-tables會自動關閉 --single-transaction 和 --lock-tables。所以三者是互斥的。我們應該一次只啟用其中一個選項。

4)--flush-logs???

??????? Flush logs file in server before starting dump. Note that if you dump many databases at once (using the option --databases= or

??????? --all-databases), the logs will be?flushed for each database dumped. The exception is when using --lock-all-tables or

??????? --master-data: in this case the logs will?be flushed only once, corresponding to the moment all tables are locked. So if you want your

???????dump and the log flush to happen at the same exact moment?you should use --lock-all-tables or --master-data with --flush-logs.

?????? 為了獲得導出數據和刷新日志的一致性(同時發生),必須將 --flush-logs 選項和 --lock-all-tables 或者 --master-data 一起使用:

?????? mysqldump --flush-logs --lock-all-tables;??mysqldump --flush-logs --master-data=2?;

5)--flush-privileges?

????? Emit a FLUSH PRIVILEGES statement after dumping the mysql database.??This option should be used any time the dump contains the

????? mysql database?and any other database that depends on the data in the mysql database for proper restore.

??????如何導出包含了mysql數據,就應該啟用該選項。該選項會在導出的 mysql 數據庫的后面加上 flush privileges 語句,因為在向mysql數據庫inert了語句

????? 之后,必須使用 flush privileges,不然權限不生效。下面是例子:

6)? --master-data[=#]??

?????? This causes the?binary log position and filename?to be appended to the output. If equal to 1, will print it as a CHANGE MASTER

?????? command; if equal to 2, that command will be prefixed with a comment symbol. This option will turn --lock-all-tables on, unless

?????? --single-transaction is specified too (in which case?a global read lock is only taken a short time at the beginning of the dump; don't
?????? forget to read about --single-transaction below). In all cases, any action on logs will happen at the exact moment of the dump.

?????? Option automatically turns --lock-tables off.

所以為了獲得一致性的備份數據和在備份是同時刷新binary日志,我們應該如下結合使用這些選項(完美組合——其實并不完美!!!因為:a global read lock is only taken a short time at the beginning of the dump,會導致?Waiting for table flush):

mysqldump -uroot -pxxxxxx --single-transaction --master-data=2 --set-gtid-purged=OFF? xxdb --where "1=1 limit 100000" > xxdb_10W.sql

(其中 --flush-logs 不是必須的; 搭建slave時,不要導出events,但是需要導出rountines.)

其中被?--master-data 打開的 --lock-all-tables 選項,又被 --single-transaction 關閉掉了。--flush-logs 借助于 --master-data 可以達到即使一次導出多個數據庫時,其 flush 的二進制日志也是在同一個時間點的,不是每一個數據庫flush一次的。并且這個時間點 和 --master-data 記錄的 binary log position 和 binary log file是同一個時間點,這些都是利用了 --single-transaction 和?--master-data?合用時短暫的使用一個全局的讀鎖來達到目的的。

5. mysqldump 復制 的相關選項

1)? --master-data[=#]??

?????? This causes the binary log position and filename to be appended to the output. If equal to 1, will print it as a CHANGE MASTER

?????? command; if equal to 2, that command will be prefixed with a comment symbol. This option will turn --lock-all-tables on, unless

?????? --single-transaction is specified too (in which case a global read lock is only taken a short time at the beginning of the dump;

?????? don't forget to read about --single-transaction below). In all cases, any action on logs will happen at the exact moment of the dump.

?????? Option automatically turns --lock-tables off.

?????? 該選項,上面已經介紹了。--master-data=1 表示會導出 change master to 語句,--master-data=2 該語句放在注釋中,默認是為 0 。

?????? 一般會和 --single-transaction一起使用,用于搭建master-slave環境。

下面是 --master-data=1 和 --master-data=2 的比較:

在導出文件的前30行左右可以看到 change master to 語句。可以使用 head -n 30 db1.sql 查看

2)? --dump-slave[=#]???

????? This causes the binary log position and filename of the master to be appended to the dumped data output. Setting the value to 1, will

????? printit as a CHANGE MASTER command in the dumped data output; if equal to 2, that command will be prefixed with a comment

????? symbol. This option will turn --lock-all-tables on, unless --single-transaction is specified too (in which case a global read lock is only

????? taken a short time at the beginning of the dump - don't forget to read about --single-transaction below). In all cases any action on

????? logs will happen at the exact moment of the dump.Option automatically turns --lock-tables off.

????? --dump-slave 和 --master-data 幾乎一樣。區別只是--dump-slave用于slave建立下一級的slave;而 --master-data用于master建立slave;

??????如果在 master 上使用 --dump-slave 會報錯:mysqldump:?Couldn't execute 'START SLAVE': The server is not configured as slave;

3) --apply-slave-statements?
?????? Adds 'STOP SLAVE' prior to 'CHANGE MASTER' and 'START SLAVE' to bottom of dump.

?????? 在 change master 導出 stop slave 語句, 在 change master 之后導出 start slave語句。其實是一個自動化的處理。和 --master-data=1 類似。

如下圖所示:開頭有 stop slave, 結尾有 start slave語句:

4)--include-master-host-port?
????? Adds 'MASTER_HOST=<host>, MASTER_PORT=<port>' to 'CHANGE MASTER TO..' in dump produced with --dump-slave.

????? 該選擇要結合 --dump-slave=1/2 使用。會在導出中加入 host。

5)--include-master-host-port?
???? Adds 'MASTER_HOST=<host>, MASTER_PORT=<port>' to 'CHANGE MASTER TO..' in dump produced with --dump-slave.

???? 該選擇要結合 --dump-slave=1/2 使用。會在導出中加入mysql的 port。

6)--delete-master-logs?
???? Delete logs on master after backup. This automatically enables --master-data.

???? 在備份之后,刪除 master上的binary log。該選項會自動打開 --master-data 選項(等于2)。該選項一般不用。日志一般不能隨便刪除。

7)--set-gtid-purged[=name]?
???? Add 'SET @@GLOBAL.GTID_PURGED' to the output. Possible values for this option are ON, OFF and AUTO. If ON is used and GTIDs

???? are not enabled on the server, an error is generated. If OFF is used, this option does nothing. If AUTO is used and GTIDs are enabled

???? on the server, 'SET @@GLOBAL.GTID_PURGED' is added to the output. If GTIDs are disabled, AUTO does nothing. If no value is

???? supplied then the default (AUTO) value will be considered.

???? 該選項用于啟用了GTID特性的環境。

6. mysqldump 字符集 的相關選項

1)--set-charset??????

???? Add 'SET NAMES default_character_set' to the output.? (Defaults to on; use --skip-set-charset to disable.)

??? --set-charset=1/0 開啟和關閉。也可以使用 --skip-set-charset 關閉。

?? 該選項我們上面已經說到了。表示是否生成?/*!40101 SET NAMES utf8 */;

2)-N, --no-set-names?

???? Same as --skip-set-charset. 關閉 --set-charset. 不生成?/*!40101 SET NAMES utf8 */;?語句。

3)--default-character-set=name?
???? Set the default character set.

???? 該選項上面也涉及到了。指定語句:/*!40101 SET NAMES utf8 */;中的字符集;可能你需要改成 --default-character-set=utf8mb4

7. mysqldump 控制是否生成 DDL 語句 的相關選項

? --add-drop-database? Add a DROP DATABASE before each create.
? --add-drop-table??????? Add a DROP TABLE before each create.? (Defaults to on; use --skip-add-drop-table to disable.)
? --add-drop-trigger????? Add a DROP TRIGGER before each create.

? --no-create-db,-n?

? --no-create-info,-t

8. mysqldump 導出格式?的相關選項

1)--compatible=name??

???? Change the dump to be compatible with a given mode. By default tables are dumped in a format optimized for MySQL.

???? Legal modes are:?ansi, mysql323, mysql40, postgresql, oracle, mssql, db2, maxdb, no_key_options, no_table_options,

???? no_field_options. One can use several modes separated by commas. Note: Requires MySQL server version 4.1.0 or higher.

???? This option is ignored with earlier server versions.

???? 導出sql語句的兼容格式。如果我們需要從MySQL導出,然后導入到其它數據庫,則可使用該選項。--compatible=oracle/postgresql/mssql

2)-Q, --quote-names??

???? Quote table and column names with backticks (`). (Defaults to on; use --skip-quote-names to disable.)

???? 將表名和列名使用 ``包裹。以防他們是關鍵字時報錯。

9. mysqldump 錯誤處理的相關選項

1)-f, --force????????????? Continue even if we get an SQL error.

2)--log-error=name??? Append warnings and errors to given file.

10. mysqldump 實現原理

為了探求 mysqldump 的備份是如何實現的,我們需要在 my.cnf 中的[mysqld] 參數段加入:

general_log=on general_log_file=general.log

這樣我們就可以通過觀察 general.log 的輸出,來了解 mysqldump 的備份是如何實現的。

1)--lock-tables 是如何實現的:

先執行:mysqldump -uroot -p --databases gs --lock-tables > gs_l.sql, 然后查看 general.log:

3 Init DB gs3 Query SHOW CREATE DATABASE IF NOT EXISTS `gs`3 Query show tables3 Query LOCK TABLES `tb1` READ /*!32311 LOCAL */,`user` READ /*!32311 LOCAL */3 Query show table status like 'tb1'3 Query SET SQL_QUOTE_SHOW_CREATE=13 Query SET SESSION character_set_results = 'binary'3 Query show create table `tb1`3 Query SET SESSION character_set_results = 'utf8'3 Query show fields from `tb1`3 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb1`3 Query SET SESSION character_set_results = 'binary'3 Query use `gs`3 Query select @@collation_database3 Query SHOW TRIGGERS LIKE 'tb1'3 Query SET SESSION character_set_results = 'utf8'3 Query show table status like 'user'3 Query SET SQL_QUOTE_SHOW_CREATE=13 Query SET SESSION character_set_results = 'binary'3 Query show create table `user`3 Query SET SESSION character_set_results = 'utf8'3 Query show fields from `user`3 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `user`3 Query SET SESSION character_set_results = 'binary'3 Query use `gs`3 Query select @@collation_database3 Query SHOW TRIGGERS LIKE 'user'3 Query SET SESSION character_set_results = 'utf8'3 Query UNLOCK TABLES3 Quit

1> 第一步: SHOW CREATE DATABASE?IF NOT?EXISTS?`gs`; 導出了建庫語句;

2> 第二步:show tables; 獲得數據庫中所有表名,然后鎖住:LOCK TABLES `tb1`?READ /*!32311?LOCAL */,`user`?READ /*!32311?LOCAL */

????????????????使用的是?lock table tb1 read local, tb2 read local, tb3 read local;?語句

3> 第三步:show create table?'tb1'; 導出了 tb1 的建表語句;

4> 第四步:show fields from `tb1`;?SELECT /*!40001 SQL_NO_CACHE */ *?FROM `tb1`; 導出了表中的數據;

......

5> 最后導出了 trigger, 最后的最后 unlock tables; 結束。

可以看到 --lock-tables 在導出一個數據庫時,會在整個導出過程 lock read local 所有的表。該鎖不會阻止其它session讀和插入

2)--lock-all-tables 的實現:

先執行:mysqldump -uroot -p --databases gs --lock-all-tables > gs_l.sql, 在查看 general.log:

151022 14:34:13 4 Connect root@localhost on4 Query /*!40100 SET @@SQL_MODE='' */4 Query /*!40103 SET TIME_ZONE='+00:00' */4 Query FLUSH TABLES4 Query FLUSH TABLES WITH READ LOCK4 Query SHOW VARIABLES LIKE 'gtid\_mode'... ...4 Init DB gs4 Query SHOW CREATE DATABASE IF NOT EXISTS `gs`4 Query show tables... ...4 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb1`4 Query SET SESSION character_set_results = 'binary'4 Query use `gs`4 Query select @@collation_database... ...4 Query show fields from `user`4 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `user`4 Query SET SESSION character_set_results = 'binary'4 Query use `gs`4 Query select @@collation_database4 Query SHOW TRIGGERS LIKE 'user'4 Query SET SESSION character_set_results = 'utf8'4 Quit

它的實現使用了?FLUSH TABLES;?FLUSH TABLES WITH?READ?LOCK;?語句。在最后沒有看到解鎖語句。

它請求發起一個全局的讀鎖,會阻止對所有表的寫入操作,以此來確保數據的一致性。備份完成后,該會話斷開,會自動解鎖。

3)--single-transaction 的實現:

先執行:?mysqldump -uroot -p --databases gs --single-transaction > gs_l.sql,在查看 general.log:

151022 14:41:34 5 Connect root@localhost on5 Query /*!40100 SET @@SQL_MODE='' */5 Query /*!40103 SET TIME_ZONE='+00:00' */5 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ5 Query START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */5 Query SHOW VARIABLES LIKE 'gtid\_mode'5 Query UNLOCK TABLES... ...5 Init DB gs5 Query SHOW CREATE DATABASE IF NOT EXISTS `gs`5 Query SAVEPOINT sp......5 Query show create table `tb1`......5 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb1`......5 Query ROLLBACK TO SAVEPOINT sp......5 Query show create table `user`.....5 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `user`......5 Query ROLLBACK TO SAVEPOINT sp5 Query RELEASE SAVEPOINT sp5 Quit

基本過程是:

1> 先改變事務隔離級別:SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE?READ

2> 開始事務:START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */

3> unlock tables;

4> 導出建庫語句; SHOW CREATE DATABASE?IF NOT?EXISTS?`gs`

5> 打開一個 savepoint:?SAVEPOINT sp;

6> 導出 表 tb1 的結構和數據;

7>?ROLLBACK TO SAVEPOINT sp; 回滾到savepoint;

對其它表重復該過程;

8> 最后 realease savepoint p; 釋放savepoint;

整個過程,沒有任何鎖。RR隔離級別保證在事務中只讀取本事務之前的一致性的數據。 rollback to savepoint sp; 保證了對數據庫中的數據沒有影響。

4)--master-data 的實現:

先執行:mysqldump -uroot -p --databases gs --master-data=1 > gs_l.sql,在查看general.log:

151022 14:57:45 6 Connect root@localhost on6 Query /*!40100 SET @@SQL_MODE='' */6 Query /*!40103 SET TIME_ZONE='+00:00' */6 Query FLUSH /*!40101 LOCAL */ TABLES6 Query FLUSH TABLES WITH READ LOCK6 Query SHOW VARIABLES LIKE 'gtid\_mode'6 Query SHOW MASTER STATUS

發現了 --lock-all-tables一樣,就多了一句:show master status;

5)--single-transaction 和 --master-data 結合使用:

先執行:mysqldump -uroot -p --databases gs --master-data=1 > gs_l.sql,在查看general.log:

151022 15:00:56 7 Connect root@localhost on7 Query /*!40100 SET @@SQL_MODE='' */7 Query /*!40103 SET TIME_ZONE='+00:00' */7 Query FLUSH /*!40101 LOCAL */ TABLES7 Query FLUSH TABLES WITH READ LOCK7 Query SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ7 Query START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */7 Query SHOW VARIABLES LIKE 'gtid\_mode'7 Query SHOW MASTER STATUS7 Query UNLOCK TABLES......7 Init DB gs7 Query SHOW CREATE DATABASE IF NOT EXISTS `gs`7 Query SAVEPOINT sp7 Query show create table `tb1`7 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `tb1`7 Query ROLLBACK TO SAVEPOINT sp7 Query show create table `user`7 Query SELECT /*!40001 SQL_NO_CACHE */ * FROM `user`7 Query ROLLBACK TO SAVEPOINT sp7 Query RELEASE SAVEPOINT sp7 Quit

發現 --single-transaction 單獨使用 與 --single-transaction 和 --master-data 結合使用 的區別如下圖:

--single-transaction 和 --master-data 結合使用時,在導出開始,會短暫的持有一個全局的讀鎖,鎖定時:刷新數據到磁盤、設置隔離級別為RR、開始事務、輸出 binary log 的位置和文件名,然后解鎖。這樣就保證了:show master status 輸出的 binary log 的位置和文件名 和 后面 導出的數據是同一個時間點的(同一個lsn),所以才能使用該備份 和 利用 change master to 構造一個 slave,成功的連接上 master.

可以看到這里使用了兩次 flush tables:

FLUSH /*! 40101 LOCAL */ TABLES

FLUSH TABLES WITH READ LOCK

其原因是 第一次 flush 是不需要鎖表的,第一次將所有數據刷新到磁盤之后,第二次 FLUSH TABLES WITH READ LOCK 時就會只有很少量的數據需要刷新到磁盤,所以第一次 flush 是為了盡量的 減少 第二次? fush 持有鎖的時間

11. mysqldump 與 鎖

1)--lock-tables?會在整個導出過程 lock read local 所有的表。該鎖不會阻止其它session讀和插入,但是顯然阻塞了update。

2)--lock-all-tables?它請求發起一個全局的讀鎖,會阻止對所有表的寫入操作(insert,update,delete),以此來確保數據的一致性。備份完成后,該會話斷開,會自動解鎖。

3)--single-transaction 和 --master-data?結合使用時,也是在開始時,會短暫的請求一個全局的讀鎖,會阻止對所有表的寫入操作。

4)--single-transaction?單獨使用,不會有任何鎖。但是測試表明:?它也需要對備份的表持有 metadata lock 的共享鎖。

而我們知道,一般的事務,持有的是 行鎖,還有 metadata lock 的共享鎖。所以實際上,mysqldump不論你使用哪些選項,都不會阻塞事務的執行。

因為它們對鎖的申請,沒有任何排它性。而不像DDL一樣需要持有 metadata lock 上的獨占鎖(排它鎖)。當然DDL也會阻塞mysqldump。

mysqldump?一定需要表上的 metadata lock 共享鎖。然后,要么需要所有備份表上的local讀鎖(lock table tb1?read local),要么需要的是所有備份表上的全局讀鎖(FLUSH TABLES WITH?READ?LOCK;),要么短暫持有全局鎖。

12. mysqldump 與?Waiting for table flush

需要特別注意的是 mysqldump 很有可能導致 Waiting for table flush,比如 --single-transaction --master-data=2 一起用時,會執行 flush tables,而flush tables 可能會導致 Waiting for table flush !!!需要特別注意!!!!

所以最安全的mysqldump方式為:

mysqldump -uroot -pxxxxx --single-transaction --databases testdb --where "1=1 limit 100000" > testdb_10W.sql

個人已經多次遇到這個問題。。。

參考:http://imysql.cn/2008_10_24_deep_into_mysqldump_options

總結

以上是生活随笔為你收集整理的MySQL 命令行工具之 mysqldump 深入研究的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

久久久久久久久久久久久影院 | 91手机视频在线 | 国产一区二区精 | 亚洲日韩中文字幕在线播放 | 国产91大片| 欧美日韩精品在线观看 | av成人黄色 | 久久天天操 | 国产精品第7页 | 在线免费黄网站 | 超碰在线人人97 | 国产黄在线 | 99在线视频精品 | 在线观看免费高清视频大全追剧 | 国产精品久久久久国产精品日日 | 亚洲综合导航 | 黄色小说免费在线观看 | 成人av一二三区 | 日本中文一级片 | 国偷自产中文字幕亚洲手机在线 | 九九精品视频在线看 | 人人艹人人 | 97在线精品 | 天天干天天做天天操 | 国产精品美女久久久免费 | 91桃色国产在线播放 | 国产成人免费在线观看 | 99在线精品视频观看 | 欧美黑人xxxx猛性大交 | 午夜国产一区二区 | 狠狠色伊人亚洲综合网站色 | 免费瑟瑟网站 | 日韩色爱| 精品国产a | 黄色avwww| 99国产精品久久久久老师 | 97av.com| 久久综合久色欧美综合狠狠 | 日韩色一区二区三区 | 日韩成人在线一区二区 | 麻豆精品在线视频 | 中文字幕亚洲在线观看 | 中文不卡视频 | 国产专区在线播放 | 超碰在线观看97 | 亚洲综合小说 | 黄色电影在线免费观看 | 狠狠色狠狠色综合日日小说 | 黄色毛片视频免费观看中文 | 天天操天天干天天爱 | 日韩av免费在线电影 | 中文一区在线观看 | 国产婷婷精品 | 亚洲精品久久久蜜桃 | 99热999| 国产不卡精品视频 | 激情综合亚洲精品 | 亚洲理论在线观看电影 | 国产一区二区三区网站 | 91视频在线网址 | 99久精品视频 | 香蕉91视频 | 日日操天天爽 | 中文在线a√在线 | 亚洲激情综合网 | 色婷婷视频在线观看 | 国产精品永久在线观看 | 日韩免费观看一区二区三区 | 人人藻人人澡人人爽 | 在线影视 一区 二区 三区 | 欧美小视频在线观看 | 在线国产日本 | 97免费公开视频 | 国产福利av| 成人高清av在线 | 日韩精品极品视频 | 成人欧美在线 | 九九爱免费视频 | 日韩精品一区电影 | 美女网站在线看 | 人人看人人做人人澡 | 久久久久久草 | 久久精品在线 | 最新中文字幕视频 | 免费观看黄色av | 国产黄色片免费在线观看 | 久久久 激情 | 国产无遮挡又黄又爽在线观看 | 黄色一级动作片 | 国产精品亚洲片在线播放 | 婷婷 综合 色 | 天天爽天天搞 | 久久美女电影 | 国产一区自拍视频 | 国产精品破处视频 | 97在线免费观看视频 | 国产精品视频在线观看 | 六月天综合网 | 日韩精品资源 | 国产这里只有精品 | 久久久精品免费观看 | 国产精品第一页在线观看 | 国产最新在线观看 | 久久国产热视频 | 国产色视频123区 | 欧美一级片| 日韩欧美高清视频在线观看 | 四虎5151久久欧美毛片 | 久久久免费视频播放 | 91污在线 | 97国产大学生情侣酒店的特点 | 国产成人在线播放 | 久久在现 | 欧美-第1页-屁屁影院 | 久久婷亚洲五月一区天天躁 | 精品国产伦一区二区三区观看说明 | 91av电影网 | 色片网站在线观看 | 国产精品电影一区二区 | 久久久久久久久久电影 | 国产成人福利在线 | 久久久午夜精品福利内容 | 美女网站在线 | 国产人在线成免费视频 | 亚洲黄色成人 | 91最新视频在线观看 | 9999精品| 四虎在线观看 | 91九色视频观看 | 西西人体www444 | 欧洲精品久久久久毛片完整版 | 中文字幕在线观看一区二区 | 欧洲精品亚洲精品 | 中文字幕欧美日韩va免费视频 | 色婷婷激婷婷情综天天 | 日韩欧美在线视频一区二区三区 | 亚洲精品人人 | 99精品视频在线 | 国产日韩精品在线观看 | 91精品国产综合久久福利不卡 | 成人在线电影观看 | 国产一线在线 | 综合天堂av久久久久久久 | 国产综合精品一区二区三区 | 久草在线视频免赞 | www免费看片com | 欧美精品一区二区三区一线天视频 | 久久久九九 | 91看片在线看片 | 日韩av免费在线电影 | 天天碰天天操 | 午夜在线看片 | 亚洲精品在线免费播放 | 99国产精品视频免费观看一公开 | 日韩黄色免费电影 | 五月婷婷综合激情网 | 欧美aaaxxxx做受视频 | 免费观看一区二区三区视频 | 日韩欧美在线视频一区二区 | 手机av看片 | 国产成人一区二区三区免费看 | 色婷婷99 | 国产日产亚洲精华av | 久久精品网址 | 欧美久久久久久久久久久久久 | 色视频网页| 国产亚洲欧美精品久久久久久 | 婷婷精品在线视频 | 波多野结衣网址 | 亚洲午夜久久久综合37日本 | 久久免费99精品久久久久久 | 欧美二区视频 | 亚洲精品美女久久久久 | 男女全黄一级一级高潮免费看 | 日韩精品久久久 | 日韩av免费一区 | 91福利社在线观看 | av高清不卡 | 国产在线精品一区二区 | 欧美精品亚洲精品 | 国产专区在线看 | 黄色av一区 | 久久久久久久久综合 | 日韩婷婷 | 亚洲91中文字幕无线码三区 | 国产精品a成v人在线播放 | 黄色1级大片 | 免费午夜av | www在线观看视频 | 91成人在线观看高潮 | 久久久久女人精品毛片九一 | 亚洲综合网站在线观看 | 日韩天天干 | 国产精品成人av在线 | av亚洲产国偷v产偷v自拍小说 | 国产精品久久影院 | 国产精品欧美日韩在线观看 | 69亚洲乱| 日批视频在线 | 日韩精品播放 | 视频91在线| 国产精品美女999 | 九九色在线观看 | 97超视频在线观看 | 国产精品久久久久久久久久妇女 | 高潮久久久久久久久 | 亚洲va欧美va人人爽春色影视 | 久久久久久久久久伊人 | 日韩在线视频不卡 | 国产黄免费 | 亚洲三级黄 | 日本中文字幕在线一区 | 伊人成人激情 | 成人午夜免费福利 | 少妇av网| 又黄又爽又色无遮挡免费 | 在线观看麻豆av | 日日操狠狠干 | 国产精品久久久久久一二三四五 | 久久av高清 | 亚洲最大av在线播放 | 97成人在线视频 | 色香蕉视频 | 伊人五月在线 | 91日韩在线播放 | 精品国产免费人成在线观看 | 亚洲国产福利视频 | 日日操天天操狠狠操 | 色瓜 | 成人精品福利 | 欧洲一区二区在线观看 | 国产黄色av网站 | 色婷婷99| 摸阴视频 | 久久久久久片 | 国产又黄又硬又爽 | 天堂资源在线观看视频 | 黄色视屏av| 在线视频 成人 | 久久五月精品 | 日韩电影一区二区在线 | 97在线影视| 成人免费在线网 | 色偷偷网站视频 | av一区二区三区在线播放 | 探花视频在线观看+在线播放 | 欧美亚洲另类在线视频 | 不卡视频在线 | 你操综合 | 久久久久久久久久久久电影 | 亚洲精品久久久久久久不卡四虎 | 91污视频在线观看 | 手机在线看a | 天天爱天天草 | www.五月天婷婷 | 国产一区在线免费观看视频 | 欧美美女激情18p | 日本三级久久久 | 麻豆视频在线观看免费 | 免费观看性生交大片3 | 黄网站色成年免费观看 | av网站手机在线观看 | 久久中文字幕导航 | 国产视频在线一区二区 | 国产精品黄色在线观看 | 狠狠狠色狠狠色综合 | 亚洲精品国精品久久99热一 | av福利在线导航 | 中文字幕在线专区 | 瑞典xxxx性hd极品 | 亚洲 在线 | 久久人人精 | 国产精品11| 国产亚洲精品久久网站 | 亚洲综合网 | 在线观影网站 | 日韩精品久久久久 | 久久免费美女视频 | 成人国产网址 | 久久久久国产视频 | 中文字幕一区二 | 99精品在线看 | 成年美女黄网站色大片免费看 | 色综合久久久久久中文网 | 亚洲免费国产视频 | 最新中文字幕在线观看视频 | 久久噜噜少妇网站 | 日韩电影在线观看中文字幕 | 人成在线免费视频 | 99免在线观看免费视频高清 | 麻豆94tv免费版 | a√资源在线 | 黄色91免费观看 | 国产99视频在线观看 | 国产视频2区 | 91在线视频一区 | 国产一级在线视频 | 精品免费视频123区 午夜久久成人 | 91精品国自产在线偷拍蜜桃 | 99免费精品视频 | 日日操网 | 欧美男女爱爱视频 | 香蕉在线观看视频 | 久草在线在线精品观看 | av亚洲产国偷v产偷v自拍小说 | 午夜婷婷在线播放 | 伊人五月天 | 91精品视频免费观看 | 少妇bbw揉bbb欧美 | 亚洲视频在线视频 | av网站有哪些 | 999成人国产 | 欧美一级xxxx | 婷婷在线不卡 | 99精品视频在线观看免费 | av一本久道久久波多野结衣 | 久久爱资源网 | 日韩精品一区二区三区在线播放 | 综合激情av | 久久不见久久见免费影院 | 99中文视频在线 | 国产主播99 | 正在播放国产精品 | 中文字幕欧美日韩va免费视频 | 欧美一级性生活片 | 成人毛片网 | 国产主播大尺度精品福利免费 | 国产香蕉视频在线观看 | 在线免费三级 | 99色在线播放 | 制服丝袜一区二区 | 又黄又色又爽 | 亚洲精品在线观看不卡 | 欧美一级在线 | 精品一区二区三区香蕉蜜桃 | 在线av资源 | 日本激情视频中文字幕 | 国产亚洲成av片在线观看 | 97超碰网 | 在线视频 你懂得 | 看片网站黄色 | 日韩免费三区 | 婷婷成人亚洲综合国产xv88 | 奇米影视8888| 欧美日韩一区二区三区在线观看视频 | 福利视频午夜 | 中文字幕人成一区 | 激情综合亚洲精品 | 高清国产午夜精品久久久久久 | 天天操天天干天天操天天干 | 美女网站在线 | 激情视频免费在线观看 | 奇米导航 | 免费国产在线观看 | 97国产精品亚洲精品 | 中文字幕av专区 | 久久免费精品视频 | 成人午夜电影在线 | 天天综合网天天 | 麻豆视频免费网站 | 中文字幕av免费在线观看 | 久草在线电影网 | www.五月激情.com | 国产精品久久片 | 免费99精品国产自在在线 | 国产亚洲精品久久久久久久久久久久 | 国产美腿白丝袜足在线av | 91精品免费在线 | 99在线视频精品 | 亚洲资源在线网 | 99国产一区 | 成人久久毛片 | 国产精品欧美久久久久天天影视 | 97国产在线观看 | 激情综合国产 | av中文字幕在线播放 | 免费在线观看不卡av | 欧美极品一区二区三区 | 久久夜色精品国产欧美一区麻豆 | 欧美日韩18 | 国产精品一区二区在线免费观看 | 久久久久久久久久久电影 | 四虎www| 国产a级片免费观看 | 国产视频1区2区3区 久久夜视频 | 91精品久久久久久综合五月天 | 久久免费毛片 | 色中文字幕在线观看 | 国产天天综合 | 韩国精品一区二区三区六区色诱 | 国产高清日韩 | 午夜久久久久久久久久久 | 日日夜夜操av | 国产一区电影在线观看 | 91资源在线免费观看 | 精品久久久久久久久久 | 国产精品免费久久久久久 | 国产999精品久久久影片官网 | 久久久久久久久久电影 | 国产精品一区二区三区久久 | 精品免费观看视频 | 福利一区二区三区四区 | 精品美女久久 | 久久精品视频在线观看 | 婷婷九九| 一本一道久久a久久精品蜜桃 | 五月综合网站 | 欧美在线你懂的 | 日韩欧美有码在线 | 免费国产在线精品 | 欧美小视频在线 | 91黄色在线观看 | 欧美十八 | 国产精品久久久久久久免费大片 | 欧美91片 | 99久久精品国产一区二区成人 | 久精品视频在线 | 四虎永久国产精品 | 色噜噜狠狠狠狠色综合 | 亚洲国产日韩在线 | 日日夜夜天天干 | 国产精品高潮在线观看 | 97国产精品久久 | 久久在线看 | 狠狠操欧美 | 国产黄大片在线观看 | 色婷婷色 | 久草精品电影 | 91在线免费播放视频 | 免费av免费观看 | 欧美另类sm图片 | 久久av中文字幕片 | 久久久久日本精品一区二区三区 | 九九久久精品视频 | 国产精品美女久久久久久久 | 一区二区三区四区精品视频 | 国产香蕉视频在线观看 | 国产精品美女www爽爽爽视频 | 免费观看国产视频 | 久久久久免费网站 | 人人澡超碰碰 | 日韩高清免费观看 | 日日草视频 | 97在线视频免费观看 | 免费视频久久久 | 成人免费91 | 少妇搡bbbb搡bbb搡忠贞 | 国产精品久久久久久五月尺 | 男女激情片在线观看 | 久久综合婷婷综合 | 国产精品美女久久久久久免费 | 天天草av | 久久99国产一区二区三区 | 天天曰天天干 | 日韩午夜小视频 | 亚洲一区尤物 | 国产成人一区二区三区免费看 | 国产精品自产拍 | 国产精品不卡视频 | 欧美福利久久 | 国产黑丝一区二区三区 | 在线观看免费av网 | 亚洲视频一 | 黄色亚洲免费 | 久久久久久久久免费 | 婷婷免费在线视频 | 国产麻豆视频免费观看 | 国内精品久久久久久久久久久 | 最近中文国产在线视频 | 日韩精品播放 | 国产精品理论片在线观看 | 日本黄色黄网站 | 国产精品成人自产拍在线观看 | 国产精品一区二区久久精品爱涩 | 超碰97国产在线 | 99久久精品一区二区成人 | 成人免费观看网址 | 乱子伦av | 国产999精品视频 | 天天干.com| 福利片免费看 | 色综合欧洲 | 麻豆91在线观看 | 免费看一级特黄a大片 | 黄色国产区 | 国产精品欧美 | 成年人在线观看免费视频 | 天天操天天操天天操 | 中文字幕一区二区三区乱码不卡 | 九九免费在线观看视频 | 亚洲国产成人高清精品 | 狠狠插狠狠干 | 国产精品美女毛片真酒店 | 黄色福利| 久久五月天婷婷 | 日韩有码欧美 | 亚洲欧美视频在线播放 | 久久久久久伊人 | 久久免费视频网 | 99热这里精品| 成人精品电影 | 国产在线观看你懂得 | 成人午夜精品福利免费 | www.eeuss影院av撸 | 国产成人久久 | 黄色三几片 | 97视频在线免费 | 日韩中文字幕视频在线 | 国产精品一区二区 91 | 国产三级午夜理伦三级 | 91av视频观看 | 日产中文字幕 | 国产精品九九九九九 | 亚洲国产精品va在线看黑人动漫 | 一区二区三区免费在线 | 亚洲国产最新 | 国内精品久久久久久久97牛牛 | 狠狠的干狠狠的操 | 麻豆国产视频下载 | 五月天亚洲综合 | 欧美一级久久久久 | 免费a网站 | 日韩成人精品在线观看 | 美女福利视频一区二区 | 日本成人黄色片 | 在线观看av网 | 日韩在线观看一区 | 亚洲国产精品成人综合 | 国内精品久久久久久 | av动态图片 | 成人欧美一区二区三区黑人麻豆 | 久久久.com| 国产精品久久99综合免费观看尤物 | 亚洲视屏在线播放 | 中文字幕在线播放第一页 | 麻豆视频在线播放 | 日韩理论电影网 | 久久国产一区二区三区 | 特级毛片在线 | 精品久久一区二区 | 成人久久久久久久久久 | 欧美性黑人| 夜夜躁日日躁狠狠久久av | 国产一区二区成人 | 在线观看国产91 | 国产精品久免费的黄网站 | 成人亚洲网 | 美女很黄免费网站 | 欧美一级片在线 | 国产在线视频一区二区 | 欧美日韩精品在线观看 | 国产第一页福利影院 | 久久99久久精品 | 久久国产高清 | 国产97色在线 | 97超碰色偷偷 | 99在线观看精品 | 免费看在线看www777 | 日韩在线精品一区 | 亚洲婷婷网| 天天干天天操人体 | 999视频在线观看 | 久久久久亚洲国产精品 | 婷婷丁香色 | 欧美激情视频一二区 | 五月综合网站 | 999久久国精品免费观看网站 | 亚洲黄色网络 | 成人精品国产 | 精品乱码一区二区三四区 | 成人久久精品 | 一级做a爱片性色毛片www | 91九色网站 | 亚洲精品国产精品国自产 | 欧美一区二区三区在线看 | 狠狠狠综合 | 成人免费一区二区三区在线观看 | 欧美另类亚洲 | 五月婷婷综合在线 | 久久精品久久99 | 亚洲国产剧情 | 成人黄色电影在线 | 美女av电影| 在线三级播放 | 日韩精品免费在线播放 | 97在线观看视频 | 在线影视 一区 二区 三区 | 久久影视中文字幕 | 91麻豆产精品久久久久久 | 激情深爱五月 | 在线综合 亚洲 欧美在线视频 | 欧美日韩久久一区 | 国产又粗又硬又长又爽的视频 | 亚洲成人精品 | 五月天综合在线 | 黄色av免费电影 | 开心激情综合网 | 国产成人综合在线观看 | 六月丁香社区 | 91精品视频一区 | 久久福利剧场 | 日日干综合| 24小时日本在线www免费的 | 亚洲好视频 | 免费一区在线 | 国产麻豆电影 | 国产糖心vlog在线观看 | 黄色av电影 | 99精品乱码国产在线观看 | 亚洲精品在线一区二区三区 | 免费精品在线视频 | 亚洲高清国产视频 | 中文日韩在线视频 | 免费观看性生活大片3 | 国产精品尤物 | 五月婷婷六月丁香 | 中文字幕一区二区三区久久蜜桃 | 久草免费在线观看视频 | 精品一区二区在线免费观看 | 五月激情丁香图片 | 91香蕉视频黄色 | 国产裸体视频网站 | 日韩在线电影 | 97自拍超碰 | 99久久久久久久久久 | 色www.| 婷婷 中文字幕 | 亚洲国产精品500在线观看 | 国产在线91在线电影 | 新av在线| 中国精品一区二区 | 在线看小早川怜子av | 亚洲精品字幕在线观看 | 国内精品久久久久影院优 | 久久精品xxx | 天天色天天干天天 | 国产99久久久欧美黑人 | 亚洲日本精品 | 99精品久久99久久久久 | 丁香花中文在线免费观看 | 在线播放国产精品 | 国产在线无| 一区二区三区视频网站 | 日本精品久久久一区二区三区 | 激情 亚洲 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 亚洲视频在线观看网站 | 中文字幕在线观看视频一区二区三区 | 免费能看的av | 国产 日韩 欧美 在线 | 成人av播放 | 欧美一区二区三区激情视频 | 亚洲精品在线视频播放 | 丰满少妇麻豆av | 久久精品专区 | 99热这里只有精品在线观看 | 99免费在线播放99久久免费 | 色吊丝在线永久观看最新版本 | 91热精品 | 久久精品国产免费 | 国产精品免费成人 | 天天射狠狠干 | 日韩免费视频线观看 | 欧美一级黄色网 | 中文字幕一区二区三区在线播放 | 五月激情丁香图片 | 在线看v片 | 毛片激情永久免费 | 欧美日韩亚洲在线观看 | 免费人成在线观看网站 | 国产精品国产三级国产aⅴ9色 | 国产香蕉97碰碰久久人人 | 中文字幕av最新 | 精品视频免费看 | 伊人日日干 | 午夜在线看 | 国外成人在线视频网站 | 久久国产网站 | 国产性xxxx| 亚洲精品玖玖玖av在线看 | 欧美久久久久久久 | 五月婷社区| 久久久久久国产精品免费 | 亚洲爱av| 国产精品igao视频网网址 | 99爱精品在线 | 天天干,天天插 | 久久网站免费 | 久久久精品国产一区二区 | 婷婷中文字幕在线观看 | 在线视频专区 | 1024在线看片| 97电影网手机版 | 久久色视频| 国产成人av网站 | 欧美一级裸体视频 | 国产精品久久久免费 | 97视频在线观看视频免费视频 | 日本中文字幕电影在线免费观看 | 波多野结衣在线观看一区二区三区 | 国产91亚洲精品 | 久草www| 91香蕉国产| 国产高清视频免费在线观看 | 97香蕉久久超级碰碰高清版 | 国产精品久久久久久久久久久久 | 天天草综合 | 五月天免费网站 | 五月天激情在线 | 麻豆观看 | 亚洲精品在线看 | 免费观看十分钟 | 国内三级在线观看 | 久久99国产综合精品 | 国产免费av一区二区三区 | 91精品国产九九九久久久亚洲 | 免费网站在线观看人 | 四虎成人精品永久免费av | 色99视频 | 成人观看视频 | 色九色| 久久亚洲婷婷 | 蜜臀久久99精品久久久无需会员 | 九九热在线观看视频 | 久久久首页 | 日韩精品一区二区三区电影 | 丁香电影小说免费视频观看 | 干天天| 天天操天天摸天天射 | 成片免费观看视频 | 国产精品乱码高清在线看 | 六月丁香综合网 | 黄色一级大片在线免费看国产一 | 日韩综合第一页 | 国产精品你懂的在线观看 | 九九热只有这里有精品 | 成人在线视频论坛 | 国产激情小视频在线观看 | 日韩精品免费一线在线观看 | 亚洲午夜精品在线观看 | 日韩精品中文字幕久久臀 | 免费视频网 | 99久热精品| 日韩婷婷 | 在线看成人av | 日韩欧美亚洲 | 911久久| 久草线| 国产精品99久久免费黑人 | 91免费国产在线观看 | 美女视频一区二区 | 久久人人干 | 99久久综合狠狠综合久久 | 91麻豆精品国产91久久久久 | 在线观看深夜福利 | 日韩午夜电影院 | 国产99在线播放 | 国产在线一区二区 | 国产电影一区二区三区四区 | 中文字幕超清在线免费 | 伊人五月天 | 99精品在线观看 | 免费观看性生活大片 | 精品国产三级a∨在线欧美 免费一级片在线观看 | 黄色特级一级片 | 日韩资源视频 | 日韩高清在线观看 | 欧美日韩视频精品 | 日韩在线观看你懂的 | 人人干干人人 | 国产午夜激情视频 | 久久免费在线观看 | 国产高清福利在线 | 成人app在线播放 | 尤物九九久久国产精品的分类 | 国内三级在线 | 久久免费国产视频 | 国产精品永久免费观看 | 欧美日韩视频一区二区 | 中文区中文字幕免费看 | 中文字幕日本特黄aa毛片 | 91精品视频在线观看免费 | 午夜三级福利 | 欧美亚洲另类在线视频 | 国产精品高清在线 | 成人9ⅰ免费影视网站 | 免费亚洲成人 | 在线观看第一页 | 欧美一区日韩精品 | 成人久久影院 | 精品人人人人 | 国产96精品 | 国产精品淫片 | 国产精品毛片一区二区 | 成人综合免费 | 国产精品女视频 | 亚洲欧洲国产视频 | 国产精品少妇 | 久久国产视屏 | 黄色大片日本 | 在线视频一二区 | 999久久精品 | 少妇视频一区 | 久久爱资源网 | 五月天亚洲婷婷 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 在线视频日韩欧美 | 欧美精品久久久久 | 免费国产黄线在线观看视频 | 五月婷婷综合在线 | 狠狠激情中文字幕 | 久久精品精品电影网 | 91av在线看 | 亚洲黄污 | 人人射人人插 | 国产午夜精品理论片在线 | 国产精品男女 | 久久精品五月 | 国产99免费| 日韩av在线资源 | 亚洲成aⅴ人片久久青草影院 | 亚洲三级性片 | 亚洲欧美日韩不卡 | 国产香蕉97碰碰碰视频在线观看 | 成人av免费在线观看 | 国产无套精品久久久久久 | 欧美视频日韩视频 | 国产亚洲aⅴaaaaaa毛片 | 国产在线播放不卡 | 黄色精品国产 | 亚洲激情在线观看 | 91久久人澡人人添人人爽欧美 | 91国内产香蕉 | 超碰免费观看 | 97精品久久人人爽人人爽 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 免费视频二区 | 97超碰在线资源 | 日韩欧美视频二区 | 天天射天天干天天 | 国产中文字幕av | 国产精品伦一区二区三区视频 | 夜夜躁狠狠躁 | 超碰97免费 | 17videosex性欧美| 成人欧美一区二区三区黑人麻豆 | 在线观看中文av | 99热.com| 欧美午夜视频在线 | 91亚洲精品乱码久久久久久蜜桃 | 超碰97在线资源 | 久久精品成人欧美大片古装 | 9999激情| 亚洲视频在线免费观看 | 9幺看片| 中文在线a在线 | 久久成年人网站 | 日韩免费专区 | 精品在线观看国产 | 精产嫩模国品一二三区 | 久久国产精品精品国产色婷婷 | 天天插天天操天天干 | 亚洲精品国产精品久久99 | 国产在线精品一区二区 | 久久99久| 国产一二三四在线视频 | 九九视频免费在线观看 | 国产精品午夜8888 | 天天做日日爱夜夜爽 | 亚洲精品午夜久久久久久久 | 免费看黄的视频 | 欧美在线观看小视频 | 日一日干一干 | 婷婷六月中文字幕 | 日韩精品中文字幕在线观看 | 在线观看av黄色 | 欧美va日韩va | 四虎成人免费影院 | 国产系列在线观看 | 日韩视频a | 免费福利片 | 精品欧美一区二区在线观看 | 亚洲影院天堂 | 国产精品去看片 | 日韩av区 | 黄色在线观看免费 | 高清av中文字幕 | 精品国产乱码久久久久久浪潮 | 午夜精品久久一牛影视 | 精品国产网址 | 国产日韩中文字幕在线 | 98超碰在线 | 激情久久影院 | 少妇按摩av | 欧美日韩国产一二三区 | 亚洲精品福利视频 | 久草视频网 | 天天干,天天干 | 国产精品观看在线亚洲人成网 | 欧美在线视频一区二区 | 91av视频观看 | 在线国产能看的 | 在线观看免费一级片 | 成人h在线观看 | av中文字幕在线观看网站 | 豆豆色资源网xfplay | 在线性视频日韩欧美 | 久久久视屏 | 这里只有精彩视频 | 亚洲国产丝袜在线观看 | 天天干天天做天天操 | 东方av在线免费观看 | 精品在线视频一区二区三区 | 国产精品网在线观看 | 久久久久久久久久久精 | 亚洲五月激情 | av网站在线免费观看 | 成人蜜桃视频 | 天堂av免费 | 亚洲午夜精品久久久久久久久久久久 | 欧美另类网站 | 97精品超碰一区二区三区 | 成人免费在线视频观看 | 国产免费黄视频在线观看 | 一本一本久久a久久精品综合 | 久亚洲精品 | 奇米影视在线99精品 | 国产精品24小时在线观看 | 国产成人久久精品77777综合 | 成年人免费电影 | 91桃色在线观看视频 | 天天综合在线观看 | 字幕网在线观看 | 在线观看视频在线 | 天操夜夜操| 久久视频在线免费观看 | 久久99精品久久久久婷婷 | 超碰在线最新网址 | 99r国产精品| 久久99国产精品免费 | 欧美在线视频精品 | 91在线91拍拍在线91 | 亚洲欧洲一区二区在线观看 | 久草视频免费在线观看 | 亚洲午夜小视频 | 国产精品久久久久一区二区三区 | 成人黄色电影在线 | 免费看国产曰批40分钟 | 国产区在线看 | 欧美日韩一区二区三区在线免费观看 | 丁香六月欧美 | 久久久久成人精品 | 午夜美女福利 | 欧美a级免费视频 | 一级做a爱片性色毛片www | 香蕉在线视频播放网站 | 中文字幕国产在线 | 亚洲高清精品在线 | 婷婷综合五月天 | 国产精品久久三 | 日韩高清免费观看 | 国产精品第2页 | 欧美国产日韩一区二区三区 | 欧美激情视频免费看 | 在线观看中文字幕网站 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 久久99网| 亚洲婷婷在线 | 久久免费成人精品视频 | 国产字幕在线看 | 亚洲乱亚洲乱亚洲 | www久久九 | 国产在线中文字幕 | 西西444www大胆高清图片 | 免费在线观看午夜视频 | 黄色一级大片在线免费看国产一 | 美女黄频在线观看 | 狠狠色丁香久久婷婷综合五月 | 久久精品中文字幕免费mv | 久久免费国产视频 | 日一日干一干 | 久久电影国产免费久久电影 | 午夜国产福利在线 | 99在线热播精品免费 | 婷婷.com| 五月综合激情网 | www.天天射 | 久久成人人人人精品欧 | 女女av在线 | 波多野结衣精品视频 | 99福利片| 中文字幕日本特黄aa毛片 | 成人香蕉视频 | 91精品国产99久久久久久红楼 | 国产精品综合久久久 | 日韩在线一区二区免费 | 九九99靖品| 中文在线字幕观看电影 |