mysqldump的使用
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的使用相关推荐
- mysql insert delay_解析mysqldump的delay-insert选项
如果用delayed-insert插入时不用锁表../bin/mysqldump -uroot -proot --lock-tables --extended-insert --opt --q ...
- MySQL导出数据反单引号_使用mysqldump导出数据时对字段中包含的单引号的处理
最近在做一个日志统计项目,有一个辅助表是在MySQL数据库的,现在要将其迁移到Postgresql,自然是先用mysqldump将MySQL里面的数据导出,然后再导入到Postgresql即可.但在实 ...
- Mysql备份还原数据库之mysqldump实例及参数详细说明
我们在运营项目的过程中肯定会遇到备份数据库,还原数据库的情况,我们一般用一下两种方式来处理: 1.使用into outfile 和 load data infile导入导出备份数据 这种方法的好处是, ...
- mysql 5.7 mts_MySQL:MTS和mysqldump死锁
###一.问题来源 这是一位客户的提供的案例如下,show processlist截图如下: ![image.png](https://upload-images.jianshu.io/upload_ ...
- mysqldump和xtrabackup备份原理实现说明
MySQL数据库备份分为逻辑备份和物理备份两大类,犹豫到底用那种备份方式的时候先了解下它们的差异: 逻辑备份的特点是:直接生成SQL语句,在恢复的时候执行备份的SQL语句实现数据库数据的重现.物理备份 ...
- MySQLDump的备份方法
mysqldump 是日常比较常用的一个工具了,在对数据库进行导出工作时,经常会用到 mysqldump .本篇文章将介绍 mysqldump 工具的使用方法并分享几点备份技巧. mysqldump使 ...
- mysqldump 导入数据库可能遇到错误
2019独角兽企业重金招聘Python工程师标准>>> 可能遇到如下错误: 1.报错:mysqldump:Couldn't execute 'SELECT @@GTID_MODE': ...
- mysqldump远程备份mysql数据库方法
为什么80%的码农都做不了架构师?>>> 操作用mysqldump备份数据库的用户需要的权限比较小,只需要select和lock table的权限就足够了.所以可以创建一个备份 ...
- mysqldump备份数据库时出现when using LOCK TABLES
用mysqldump备份数据库时,如果出现when using LOCK TABLES,解决办法是加上 --skip-lock-tables 例如: 用mysqldump备份数据库时出现 29: Fi ...
- mysqldump备份数据库
2019独角兽企业重金招聘Python工程师标准>>> #!/bin/bash dbname="baike iidear sns ucenter mysql" ...
最新文章
- 【MATLAB】基本绘图 ( 绘制多图 | 设置图形对话框在 Windows 界面的位置和大小 | 在一个图形上绘制多个小图形 )
- 可心耳语-属于网络工程师的人声电台(第一期)
- 吴裕雄 python 神经网络——TensorFlow训练神经网络:不使用隐藏层
- jvm gc阻塞时长 占比_jvm进行转义分析需要多长时间? 可能比您想象的要长。
- [Windows Phone] 为应用添加后台计划任务 – Scheduled Task Agent
- 键盘发展简史:144年独孤求败的QWERT键盘
- java工程如何跑起来的_你编写的Java代码是咋跑起来的?
- 【Pytorch】interpolate==>上下采样函数
- YFI 创始人 Andre Cronje:有四个新产品待发布,但担心在推出后被分叉
- 13防更新描述文件_描述文件终于来了,iOS 13 也能屏蔽更新!
- java sort 字符串_java字符串怎么排序
- 统计通话次数和时间的软件_通话时间统计app下载
- 关于用WinHex解析vm虚拟机的.vmdk文件。
- 虚拟机ubuntu16.04下cheese 摄像头黑屏花屏问题
- python输入年月日输出年月日_python时序分析
- liunx服务器日志在什么位置,系统日志查看位置(Windows+Linux)
- 前世今生只愿得一人心
- 织梦php版本图片不能上传,让dedecms织梦后台支持上传bmp格式的图片的教程
- 类似visio的拓扑图节点连线控件免费下载
- 汽油后面跟的90#、93#、95#、97#是什么意思
热门文章
- 手把手教你用plotly绘制excel中常见的8种图表
- 推荐5款免费的高清壁纸
- 如何提高使用计算机,如何提高现有电脑运行速度?
- 几种同源关系:直系同源、旁系同源和异同源
- 2021-11-03 vue笔记:反向代理介绍和使用场景,基于 vue-cli 的反向代理设置及 axios 获取 json 数据
- Js高级总结1 JavaScript数据类型
- RSA加密过程详解 | 公钥加密| 密码学| 信息安全
- html音乐播放器标签,打造属于自己的音乐播放器 HTML5之audio标签
- 虚幻4打包安卓的问题
- udev监控串口连接上