知乎专栏 |
-r, --result-file=name 输出文件
mysqldump --default-character-set=utf8 -r mysql.sql -h localhost -u root -p yourdb
-t, --no-create-info Don't write table creation info.
mysqldump -uroot -p -t -d database
--all-databases 备份所有数据库
[root@netkiller ~]# mysqldump -h 127.0.0.1 -uroot -p --all-databases | gzip > database.backup
-c, --complete-insert Use complete insert statements.
$ mysqldump -hlocalhost -uroot -t neo test INSERT INTO `test` VALUES (98,'neo','chen'),(112,'jam','zheng'),(113,'john','meng'); $ mysqldump -hlocalhost -uroot -c -t neo test INSERT INTO `test` (`userid`, `username`, `password`) VALUES (98,'neo','chen'),(112,'jam','zheng'),(113,'john','meng');
--extended-insert 默认开启
INSERT INTO `test` VALUES (98,'neo','chen'),(112,'jam','zheng'),(113,'john','meng');
每条记录使用一次insert
$ mysqldump -hlocalhost -uroot --skip-extended-insert -t neo test |more INSERT INTO `test` VALUES (98,'neo','chen'); INSERT INTO `test` VALUES (111,'neo','chen'); INSERT INTO `test` VALUES (112,'jam','zheng'); INSERT INTO `test` VALUES (113,'john','meng');
该参数mysqldump输出中包含下面
默认情况
LOCK TABLES `tbl_name` WRITE;
如果使用这个参数就不会输出 LOCK TABLE
--comments附加注释信息,默认为打开。可以用--skip-comments取消
-- -- Table structure for table `demo` -- DROP TABLE IF EXISTS `demo`; ... ... -- Dump completed on 2014-02-13 13:31:05
使用 --skip-comments后
DROP TABLE IF EXISTS `demo`; ... ...
--compact
mysqldump --default-character-set=utf8 -h localhost -u root -p -t yourdb yourtable --skip-extended-insert --compact
运行后导出纯净的 INSERT 语句