mysqldump使用
2015-12-28 14:41
387 查看
mysqldump命令
导出数据库、表的结构和内容
语法结构:
部分参数说明:
--single-transaction
当前只对innodb引擎有效。启用该参数备份时,要确保没有任何DDL语句执行。
-l, --lock-tables
备份时锁住所有表。一般用于MyISAM引擎。Innodb引擎不需要,只要使用--single-transaction即可,且二者是互斥的。
--master-data[=#]
输出结果会将二进制日志位置和名称显示出来,默认为空。会自动开启--lock-all-tables=on,自动忽略--lock-tables。
1会打印change master命令;
2会打印change master命令,并在前面加注释;
-E, --events
备份事件调度器
-R, --routines
备份存储过程和函数
--triggers
备份触发器
--hex-blob
将BINARY, VARBINARY, BLOB列类型备份为十六进制的格式。
--opt
启用一组优化选项,包括关闭缓冲区。如果关闭该选项,mysqldump在把表写到写到磁盘前,都会导出到内存中。
--allow-keywords,--quote-names
在导出和恢复表时,可以使用保留字作为表的名字
--complete-insert
能在不完全相同列的表之间移动数据
mysqldump上使用--database或--all-databases选项,最终导出的数据在每个数据库中是一致的。但是不同库之间未必一致。使用--lock-all-tables选项可以解决这个问题。
导出数据库、表的结构和内容
语法结构:
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选项可以解决这个问题。
相关文章推荐
- mysql个人笔记
- mysql报错1872: Slave failed to initialize relay log info structure from the repository
- mysql报错解决MySQL Binlog(异常)——mysqlbinlog: unknown variable 'default-character-set=utf8'
- MySQL 5.7 传统复制到GTID在线切换
- Windows下更改MySQL数据库的存储位置
- MySQL 分区表
- MySQL 分区表
- mysql 数据库记录
- MSSQL迁移到MYSQL
- EF for Mysql
- mysql 索引
- MySQL运行状态show status中文详解
- MySQL中函数CONCAT及GROUP_CONCAT
- MySQL字符集乱码简单讲解
- 更改mysql数据库目录
- MYSQL备份(直接拷贝数据库文件)
- MYSQL5.7.10 安装文档
- mysql中FIND_IN_SET的使用方法
- Mac下安装新版MySQL5.7
- Mac下MySQL卸载方法