mysqldump工具介绍

mysqldump是mysql自带的逻辑备份工具。它通过协议连接到mysql数据库,将需要备份的数据查询出来,将查询出的数据转换成对应的insert语句。

使用语法:

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

常用的参数说明
参数 描述
-h,--host=name 连接地址
-p,--password 密码
-P,--port 端口
-S,--socket=name socket文件
-u,--user=name 用户名
-v,--verbose 输出备份过程信息
-A,--all-databases 备份所有数据库
-Y,--all-tablespaces 备份所有表空间
-y,--no-tablespaces 不备份表空间
-B,--databases 备份指定的数据库
-d,--no-data 不备份数据
--ignore-table=name 不备份某些指定的表
-n,--no-create-db 不写入创建表信息
其他参数说明
参数 描述
--tables 备份指定的表,多个表空格隔开
-l,--lock-tables 备份中锁定所有表,默认是开启
--add-drop-database 在创建之前先删除数据库
--add-drop-table 在创建之前先删除表,默认是开启的
--add-drop-trigger 在创建之前先删除触发器
--add-locks 备份时加锁,默认开启
--allow-keywords 允许创建列属性字段是关键字
--bind-address=name 绑定的ip地址
--character-sets-dir=name 字符编码的目录
--colum-statistics 执行ANALYZE TABLE重新生产列统计信息,默认开启
-i,--comments 注释,默认开启
--compatible=name 兼容模式,版本要大于4.1.0
--compact 简洁输出模式,使用调试
-c,--complete-insert 使用完整的插入语句
-C,--compress 压缩
-a,--create-options 包含所有的特殊的创建选项,默认开启
--default-character-set=name 默认字符编码
--delete-master-logs 备份完成后删除主库上的相关日志信息
-K,--disable-keys '/*!40000 ALTER TABLE tb_name DISABLE KEYS /; and '/!40000 ALTER TABLE tb_name ENABLE KEYS */; will be put in the output.默认开启
-E,--events 备份事件
-e,--extended-insert 备份生产使用批量插入语法,默认开启
-F,--flush-logs 开始备份之前刷新日志
-flush-privileges 备份完成之后刷新权限
-f,--force 当出现错误的时候继续进行备份
--insert-ignore 插入行使用insert ignore
-x,--lock-all-tables 锁定所有数据库中的所有表。自动关闭使用--single-transaction and --lock-tables
--log-error=name 输出警告和错误信息
--max-allowed-packet 允许的最大的包
--order-by-primary 以主键或唯一键进行排序
-q,--quick 不需要缓存,直接输出
--replace 使用replace into的语法的插入
-R,--routines 备份函数和存储过程
--single-transaction 单进程备份
--dump-date 在最后输出备份日志
--master-data 将从库备份日志信息写入文件中,有1(不包含注释)和2(包含注释)两种模式
--skip-opt Disable --opt. Disables --add-drop-table,--add-locks, --create-options,--quick,--extended-insert,--lock-tables,--set-charset, and--disable-keys.
备份测试

1.备份所有数据库

mysqldump -u root -p -S /tmp/mysql.sock --all-databases > /tmp/mysql_bak.sql

2.备份指定数据库

mysqldump -u root -p -S /tmp/mysql.sock --databases test > /tmp/test.sql

3.备份指定的表

mysqldump -u root -p -S /tmp/mysql.sock --databases test --tables aa > /tmp/aa.sql

4.导出指定条件的表数据

mysqldump -u root -p -S /tmp/mysql.sock --databases test --tables aa --where "userid > 16"> /tmp/user.sql

5.只导出表结构,不导出数据

mysqldump -u root -p -S /tmp/mysql.sock --databases test --no-data > /tmp/test_table.sql

6.只导出数据,不导出表结构

## 导出的sql中不包含drop table,create table
mysqldump -u root -p -S /tmp/mysql.sock --databases test --tables aa --no-create-info > /tmp/aa_data.sql
还原测试

1.利用source命令进行还原

## 删除test数据
mysql> drop database test;
Query OK, 2 rows affected (0.09 sec)## 利用source命令还原
source /tmp/test.sql

2.利用系统命令进行还原

## 利用mysqladmin创建库
mysqladmin -u root -p -S /tmp/mysql.sock create test## 利用mysql命令导入执行sql
mysql -u root -p -S /tmp/mysql.sock test < /tmp/test.sql

mysqldump的使用相关推荐

  1. mysql insert delay_解析mysqldump的delay-insert选项

    如果用delayed-insert插入时不用锁表../bin/mysqldump -uroot  -proot   --lock-tables --extended-insert  --opt --q ...

  2. MySQL导出数据反单引号_使用mysqldump导出数据时对字段中包含的单引号的处理

    最近在做一个日志统计项目,有一个辅助表是在MySQL数据库的,现在要将其迁移到Postgresql,自然是先用mysqldump将MySQL里面的数据导出,然后再导入到Postgresql即可.但在实 ...

  3. Mysql备份还原数据库之mysqldump实例及参数详细说明

    我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一般用一下两种方式来处理: 1.使用into outfile 和 load data infile导入导出备份数据 这种方法的好处是, ...

  4. mysql 5.7 mts_MySQL:MTS和mysqldump死锁

    ###一.问题来源 这是一位客户的提供的案例如下,show processlist截图如下: ![image.png](https://upload-images.jianshu.io/upload_ ...

  5. mysqldump和xtrabackup备份原理实现说明

    MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现.物理备份 ...

  6. MySQLDump的备份方法

    mysqldump 是日常比较常用的一个工具了,在对数据库进行导出工作时,经常会用到 mysqldump .本篇文章将介绍 mysqldump 工具的使用方法并分享几点备份技巧. mysqldump使 ...

  7. mysqldump 导入数据库可能遇到错误

    2019独角兽企业重金招聘Python工程师标准>>> 可能遇到如下错误: 1.报错:mysqldump:Couldn't execute 'SELECT @@GTID_MODE': ...

  8. mysqldump远程备份mysql数据库方法

    为什么80%的码农都做不了架构师?>>>    操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock table的权限就足够了.所以可以创建一个备份 ...

  9. mysqldump备份数据库时出现when using LOCK TABLES

    用mysqldump备份数据库时,如果出现when using LOCK TABLES,解决办法是加上 --skip-lock-tables 例如: 用mysqldump备份数据库时出现 29: Fi ...

  10. mysqldump备份数据库

    2019独角兽企业重金招聘Python工程师标准>>> #!/bin/bash dbname="baike iidear sns ucenter mysql"   ...

最新文章

  1. 【MATLAB】基本绘图 ( 绘制多图 | 设置图形对话框在 Windows 界面的位置和大小 | 在一个图形上绘制多个小图形 )
  2. 可心耳语-属于网络工程师的人声电台(第一期)
  3. 吴裕雄 python 神经网络——TensorFlow训练神经网络:不使用隐藏层
  4. jvm gc阻塞时长 占比_jvm进行转义分析需要多长时间? 可能比您想象的要长。
  5. [Windows Phone] 为应用添加后台计划任务 – Scheduled Task Agent
  6. 键盘发展简史:144年独孤求败的QWERT键盘
  7. java工程如何跑起来的_你编写的Java代码是咋跑起来的?
  8. 【Pytorch】interpolate==>上下采样函数
  9. YFI 创始人 Andre Cronje:有四个新产品待发布,但担心在推出后被分叉
  10. 13防更新描述文件_描述文件终于来了,iOS 13 也能屏蔽更新!
  11. java sort 字符串_java字符串怎么排序
  12. 统计通话次数和时间的软件_通话时间统计app下载
  13. 关于用WinHex解析vm虚拟机的.vmdk文件。
  14. 虚拟机ubuntu16.04下cheese 摄像头黑屏花屏问题
  15. python输入年月日输出年月日_python时序分析
  16. liunx服务器日志在什么位置,系统日志查看位置(Windows+Linux)
  17. 前世今生只愿得一人心
  18. 织梦php版本图片不能上传,让dedecms织梦后台支持上传bmp格式的图片的教程
  19. 类似visio的拓扑图节点连线控件免费下载
  20. 汽油后面跟的90#、93#、95#、97#是什么意思

热门文章

  1. 手把手教你用plotly绘制excel中常见的8种图表
  2. 推荐5款免费的高清壁纸
  3. 如何提高使用计算机,如何提高现有电脑运行速度?
  4. 几种同源关系:直系同源、旁系同源和异同源
  5. 2021-11-03 vue笔记:反向代理介绍和使用场景,基于 vue-cli 的反向代理设置及 axios 获取 json 数据
  6. Js高级总结1 JavaScript数据类型
  7. RSA加密过程详解 | 公钥加密| 密码学| 信息安全
  8. html音乐播放器标签,打造属于自己的音乐播放器 HTML5之audio标签
  9. 虚幻4打包安卓的问题
  10. udev监控串口连接上