博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysqldump 使用备忘
阅读量:6717 次
发布时间:2019-06-25

本文共 1190 字,大约阅读时间需要 3 分钟。

语法

导出所有数据库:

mysqldump -u root -p -A > backupfile.sql

导出指定数据库:

mysqldump -u root -p -B dbName1 dbName2 > backupfile.sql

导出指定表:

mysqldump -u root -p -B dbName tableName1 tableName2 > backupfile.sql

只导出表结构:

mysqldump -u root -p -A -d > backupfile.sql

命令示例

mysqldump -u root -p databaseName tableName -t --insert-ignore -e --max_allowed_packet=2097152 --net_buffer_length=16384 > backupfile.sql;

解释:

  • -A(--all-databases):导出全部数据库;
  • -B(--databases):导出指定数据库,后边可跟多个参数;
  • -t(--no-create-info):不导出创表的语句。不加参数是默认导出建表语句(先drop table然后create table);
  • -d(--no-data):不导出任何数据,只导出数据库表结构;
  • --insert-ignore:导出的insert语句加上ignore,允许重复执行。默认不会加上ignore;
  • -e(--extended-insert):使用具有多个VALUES列的INSERT语法。这样使导出文件更小,并加速导入时的速度。默认为打开状态,使用--skip-extended-insert取消选项;
  • --max_allowed_packet:客户端/服务器之间通信的缓存区的最大大小;
  • --net_buffer_length:TCP/IP和套接字通信缓冲区大小,创建长度达net_buffer_length的行。
  • --single-transaction:该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储引擎,仅InnoDB。本选项和--lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交。要想导出大表的话,应结合使用--quick 选项。

注意

max_allowed_packet 和 net_buffer_length 不能比目标数据库的设定数值大,否则可能出错。

确定目标数据库的参数值的方法:

mysql> show variables like 'max_allowed_packet';mysql> show variables like 'net_buffer_length';

参考

转载地址:http://kmumo.baihongyu.com/

你可能感兴趣的文章
实现iOS图片等资源文件的热更新化(一): 从Images.xcassets导出合适的图片
查看>>
glom模块的使用(二)
查看>>
Centos-Mysql复制备份还原数据库
查看>>
(5)Python字典
查看>>
React 路由状态管理总结
查看>>
禅道 11.3 版本发布,主要完善细节,修复 bug
查看>>
无人机新用途,可精确识别危险海洋生物并向游泳者发出预警
查看>>
(一) virtualenv虚拟环境安装
查看>>
Android官方开发文档Training系列课程中文版:分享简单数据之从其它APP接收简单数据...
查看>>
OpenSSL将于9月22日发布多个漏洞补丁
查看>>
大数据助推新型智库建设
查看>>
新加坡欲重组通信和媒体管制机构
查看>>
《CCNP ROUTE 300-101学习指南》——2.2节构建EIGRP拓扑表
查看>>
Libreboot 项目向开源社区示好和致歉
查看>>
Linux Kernel 4.9-rc8,4.9 分支最后一个候选版
查看>>
《Web异步与实时交互——iframe AJAX WebSocket开发实战》—— 2.2 相关关键技术及工作原理...
查看>>
《Nmap渗透测试指南》—第1章1.5节Mac OS安
查看>>
学习和使用 PHP 应该注意的10件事
查看>>
.NET Framework 源码
查看>>
ArrayList源码分析
查看>>