42.mysqldump

42.mysqldump


mysqldump -h localhost -u root -p -P 3306 test > test.sql 
-h 主机
-u 用户
-p 密码
-P 端口


--all-databases  // 对所有数据库备份
-d 只导数据,不导结构
--quick  // 强制 mysqldump 从服务器一行一行的从表中行,而不是所有的行。并在输出前,缓存到内存中。
--extended-insert // 使用包含多个 values 的 insert 语法。
--skip-extended-insert  // 包含多个 insert 语句






// 输出内容选项
--add-drop-database // 每个数据库创建语句前加上drop database 语句, 默认
--add-drop-table //在每个表前加上 drop table 语句,默认
-n, --no-create-db // 不包含数据库创建语句
-t, --no-create-info // 不包含数据表创建语句
-d, --no-data // 不包含数据


// 输出格式选项
--compact //使得输出比较简洁,不包含注释
-c, --complete-insert //使得输出的文件中insert语句包含字段名称
--default-character-set=utf8 // 导出的客户端字符集


--where "id=1" // 指定查询条件
        -l // 对 MyISAM 存储引擎加上表锁,在备份期间是能读,不能更新
        --single-transaction // 是的 InnoDB 存储引擎得到一个快照,使得备份的数据能够保持一致



// 导出到远程主机

mysqldump -holdhost -uoldusername -poldpassword --single-transaction olddbname | mysql -h Newhost -uNewusername -pNewpassword Newdbname 


mysqldump -h localhost -u root -p -P 3306 --all-database > all.sql // 备份所有数据库
mysqldump -h localhost -u root -p -P 3306 test > test.sql // 备份 test 数据库
mysqldump -h localhost -u root -p -P 3306 test t1 > t1.sql // 备份 test.t1 表
mysqldump -h localhost -u root -p -P 3306 test t1  t2 > t1_t2.sql // 备份 test.t1, test.t2 表

   




mysqldump 命令详解:


http://www.cnblogs.com/liuriqi/p/4207310.html