首页 > 数据库技术 > 详细

mysqldump使用

时间:2015-12-28 15:32:27      阅读:213      评论:0      收藏:0      [点我收藏+]

mysqldump命令

导出数据库、表的结构和内容

语法结构:

Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]

部分参数说明:
--single-transaction

  当前只对innodb引擎有效。启用该参数备份时,要确保没有任何DDL语句执行。
-l, --lock-tables

  备份时锁住所有表。一般用于MyISAM引擎。Innodb引擎不需要,只要使用--single-transaction即可,且二者是互斥的。
--master-data[=#] 

  输出结果会将二进制日志位置和名称显示出来,默认为空。会自动开启--lock-all-tables=on,自动忽略--lock-tables。

  1会打印change master命令;

# mysqldump -uroot -p --master-data=1 --databases test > test1.sql
...
--
-- Position to start replication or point-in-time recovery from
--

CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000001‘, MASTER_LOG_POS=120;
...

  2会打印change master命令,并在前面加注释;

# mysqldump -uroot -p --master-data=2 --databases test > test2.sql
...
--
-- Position to start replication or point-in-time recovery from
--

-- CHANGE MASTER TO MASTER_LOG_FILE=‘mysql-bin.000001‘, MASTER_LOG_POS=120;
...

-E, --events

  备份事件调度器
-R, --routines

  备份存储过程和函数
--triggers

  备份触发器

--hex-blob

  将BINARY, VARBINARY, BLOB列类型备份为十六进制的格式。

# mysqldump -uroot -p --tab="/tmp/"  employees > emp.sql
Enter password: 
# ls -ltr /tmp
total 138220
-rw-r--r--. 1 root  root      1422 Dec 23 07:23 departments.sql
-rw-rw-rw-. 1 mysql mysql      153 Dec 23 07:23 departments.txt
-rw-r--r--. 1 root  root      1705 Dec 23 07:23 dept_emp.sql
-rw-rw-rw-. 1 mysql mysql 11175033 Dec 23 07:23 dept_emp.txt
-rw-rw-rw-. 1 mysql mysql      816 Dec 23 07:23 dept_manager.txt
-rw-r--r--. 1 root  root      1725 Dec 23 07:23 dept_manager.sql
-rw-r--r--. 1 root  root      1505 Dec 23 07:23 employees.sql
-rw-rw-rw-. 1 mysql mysql 13821993 Dec 23 07:23 employees.txt
-rw-r--r--. 1 root  root      1566 Dec 23 07:23 salaries.sql
-rw-rw-rw-. 1 mysql mysql 98781181 Dec 23 07:23 salaries.txt
-rw-r--r--. 1 root  root      1573 Dec 23 07:23 titles.sql
-rw-rw-rw-. 1 mysql mysql 17718376 Dec 23 07:23 titles.txt

 

--opt  

  启用一组优化选项,包括关闭缓冲区。如果关闭该选项,mysqldump在把表写到写到磁盘前,都会导出到内存中。

--allow-keywords,--quote-names  

  在导出和恢复表时,可以使用保留字作为表的名字

--complete-insert  

  能在不完全相同列的表之间移动数据  

 

mysqldump上使用--database或--all-databases选项,最终导出的数据在每个数据库中是一致的。但是不同库之间未必一致。使用--lock-all-tables选项可以解决这个问题。                                                      

mysqldump使用

原文:http://www.cnblogs.com/abclife/p/5070112.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!