mysqldump使用
2015-12-28 14:41 abce 阅读(379) 评论(0) 编辑 收藏 举报mysqldump命令
导出数据库、表的结构和内容
语法结构:
1 2 3 | 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命令;
1 2 3 4 5 6 7 8 | # 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命令,并在前面加注释;
1 2 3 4 5 6 7 8 | # 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列类型备份为十六进制的格式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # 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选项可以解决这个问题。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)