# mysqldump -utmp -ptmp -h127.0.0.1 -P3307 --single-transaction --master-data=2 --all-databases > 3307_20191123.sql
mysqldump: [Warning] Using a password on the command line interface can be insecure.
Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions,
even those that changed suppressed parts of the database. If you don't want to restore GTIDs, pass --set-gtid-purged=OFF. To make
a complete dump, pass --all-databases --triggers --routines --events.
#
mysqldump -utmp -ptmp -h127.0.0.1 -P3307 --single-transaction --master-data=2 --all-databases > 3307_20191123.sql
# 只备份某个数据库的所有表结构
mysqldump -uXXX -pYYY -hZZZ -P3306 --single-transaction --master-data=2 --no-data --databases DDD > DDD.sql
# 导出数据,一般从从库导出,减少主库的压力。
mysqldump -hhostname -P3306 --single-transaction --master-data=2 database_name table_nameA table_nameB > glc.sql
mysql -hXXX -P3306 -uYYY -pZZZ -e 'show databases;' | grep -Ev 'Database|information_schema|mysql|performance_schema|sys' | xargs mysqldump -hXXX --single-transaction --master-data=2 --databases > XXX.sql
pt-show-grants -hXXX > XXX.grants.sql
mysqldump -hXXX -PYYY -uZZZ -pWWW --single-transaction --master-data=2 --databases TTT > XXX.sql
# XXX表示主机名或ip,YYY表示端口,ZZZ表示用户名,WWW表示用户的密码,TTT表示要备份的数据库名称
1、备份整个实例
mysqldump -utmp -ptmp -h127.0.0.1 -P3307 --single-transaction --master-data=2 --all-databases > dump.sql
2、备份指定数据库的表结构和数据
mysqldump -utmp -ptmp -h127.0.0.1 -P3307 --single-transaction --master-data=2 --databases database1 databases2 databases3> dump.sql
DROP TABLE IF EXISTS `model`; /*!40101 SET @saved_cs_client = @@character_set_client */; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `model` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `series_name` varchar(64) NOT NULL DEFAULT '', `display_name` varchar(64) NOT NULL DEFAULT '', `series_general_name` varchar(64) NOT NULL DEFAULT '', `enum_name` varchar(64) NOT NULL DEFAULT '' COMMENT 'ModelSeries枚举类名称', `is_in_file` tinyint(1) DEFAULT '0' COMMENT '是否在文件中,后期添加的都写0', `create_time` datetime NOT NULL, `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), UNIQUE KEY `uk_model_meta` (`enum_name`) ) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=utf8; /*!40101 SET character_set_client = @saved_cs_client */; -- -- Dumping data for table `model_series` -- LOCK TABLES `model` WRITE; /*!40000 ALTER TABLE `model_series` DISABLE KEYS */; INSERT INTO `model` VALUES (1,'SERIES_unknown','未知','ALL_OTHER','UNKNOWN',1,'2019-08-01 17:30:00','2019-08-27 01:58:56')/*!40000 ALTER TABLE `model_series` ENABLE KEYS */; UNLOCK TABLES;
############################################################
内容解释:
先删除表结构和数据,再创建表结构;
再给表加写锁,再插入数据,再释放表锁;
就这样依次对每张表执行相同的操作,即可
###########################################################
3、备份指定数据库的表结构,而不要数据
mysqldump -utmp -ptmp -h127.0.0.1 -P3307 --single-transaction --master-data=2 -d --databases database1 databases2 databases3> dump.sql
3、备份指定数据库的指定表的数据和结构
mysqldump -utmp -ptmp -h127.0.0.1 -P3307 --single-transaction --master-data=2 database1 table1 table2 table3 > dump.sql
4、备份指定数据库的指定表的结构,不要对应表的数据
mysqldump -utmp -ptmp -h127.0.0.1 -P3307 --single-transaction --master-data=2 -d database1 table1 table2 table3 > dump.sql
5、备份指定数据库的指定表的数据,不要对应表的结构
mysqldump -utmp -ptmp -h127.0.0.1 -P3307 --single-transaction --master-data=2 -t database1 table1 table2 table3 > dump.sql
6、备份指定数据库的指定表的数据和结构(指定条件的数据和表结构)
mysqldump -utmp -ptmp -h127.0.0.1 -P3307 --single-transaction --master-data=2 database1 table1 table2 table3 --where=" ctime>'2017-01-01' and ctime<'2017-06-30'" > dump.sql