文档结构:

mysqldump备份影响性能,可能会把内存里面的热数据给冲刷掉,5.7后,新增一个参数,innodb_buffer_pool_dump_pct,控制每个innodb_buffer中转存活跃的使用innodb buffer pages的比例,只有当数据在1s内再次被访问时,才能放到热区域内,避免热数据被刷掉,默认值25%。

重要的参数说明:

--single-transaction

用于保证innodb 备份数据时的一致性,配合RR隔离级别一起使用;当发起事物时,读取一个事实的快照,直到备份结束时,都不会读取到本事物开始之前提交的任何数据(这个参数相当重要)

--all-databases  (-A)

备份所有数据库。

--master-data

该参数有1和2,如果等于1 ,就会在备份出来的文件中添加一个change master的语句(后期配置搭建主从架构);如果值等于2,就会在备份出来的文件中添加一个change master语句,并在语句前面添加注释符号(后期配置搭建主从架构)。

--dump-slave

该参数用于从库端备份数据,在线搭建新的从库时使用。

该参数也有1,2两个值,值为1是,也是在备份出来的文件中添加一个change master的语句;值为2时,则会在change master命令前增加注释信息。

--no-create-info(-t)

备份过程中,只备份表数据,并不备份表结构。

--no-data

备份过程中,只备份表结构,并不备份表数据。

--complete-insert

使用完整的insert语句会包含表中的列信息,这么做可以提高插入效率。

--databases

备份多个数据库。

mysqldump -S /tmp/mysql3307.sock -uroot -pmysql --set-gtid-purged=OFF --databases sys test > sys_test.sql

--default-character-set

字符集,MYSQL目前默认字符集,要与备份出的表的字符集保持一致。

--quick

相当于加 sql_no_query,意味着并不会读取缓存中的数据。

--where=name

按条件备份出想要的数据。

备份所有数据库

/usr/local/mysql5.7/bin/mysqldump --single-transaction -S /tmp/mysql3307.sock --set-gtid-purged=OFF -uroot -pmysql -A >all_20180524.sql

5.7已经开启了GTID,备份过程中不想带GTID信息,加上--set-gtid-purged=OFF

恢复全库的过程

先删除test 测试库

mysql -S /tmp/mysql3307.sock -uroot -pmysql < all_20180524.sql

查看恢复后的数据库:

备份单个数据库test的过程:

mysqldump -S /tmp/mysql3307.sock -uroot -pmysql --single-transaction --set-gtid-purged=OFF  test > 20180524test.sql

恢复单库test的过程:

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

| test               |

+--------------------+

5 rows in set (0.00 sec)

mysql> drop database test;

Query OK, 9 rows affected (0.18 sec)

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

4 rows in set (0.00 sec)

mysql> create database test;

Query OK, 1 row affected (0.00 sec)

mysql -S /tmp/mysql3307.sock -uroot -pmysql test < 20180524test.sql

mysql> use test;

Reading table information for completion of table and column names

You can turn off this feature to get a quicker startup with -A

Database changed

mysql> show tables;

+----------------+

| Tables_in_test |

+----------------+

| t              |

| t1             |

| t2             |

| t3             |

| t4             |

| tt             |

| ttt            |

| zs             |

| zs1            |

+----------------+

9 rows in set (0.00 sec)

备份单表:

mysql> select TABLE_SCHEMA,TABLE_NAME,TABLE_TYPE,ENGINE,TABLE_ROWS from information_schema.TABLES where table_schema='test';

+--------------+------------+------------+--------+------------+

| TABLE_SCHEMA | TABLE_NAME | TABLE_TYPE | ENGINE | TABLE_ROWS |

+--------------+------------+------------+--------+------------+

| test         | t          | BASE TABLE | InnoDB |          6 |

| test         | t1         | BASE TABLE | InnoDB |     971290 |

| test         | t2         | BASE TABLE | InnoDB |          3 |

| test         | t3         | BASE TABLE | InnoDB |          3 |

| test         | t4         | BASE TABLE | InnoDB |          3 |

| test         | tt         | BASE TABLE | InnoDB |          4 |

| test         | ttt        | BASE TABLE | InnoDB |          2 |

| test         | zs         | BASE TABLE | InnoDB |          3 |

| test         | zs1        | BASE TABLE | InnoDB |          4 |

+--------------+------------+------------+--------+------------+

9 rows in set (0.00 sec)

mysqldump -S /tmp/mysql3307.sock -uroot -pmysql --single-transaction --set-gtid-purged=OFF test t1 >20180524_t1.sql

恢复表的过程:

先删除,在恢复。

mysql -S /tmp/mysql3307.sock -uroot -pmysql test < 20180524_t1.sql

注意:

单表恢复的时候,不需要写表的名字,只需要写库的名字。

备份test库t1表的where 条件

mysqldump -S /tmp/mysql3307.sock -uroot -pmysql --single-transaction --set-gtid-purged=OFF test t1 --where='RECEIVETIME >="2018-08-31 00:00:00" and  RECEIVETIME <="2018-10-09 00:00:00"' >/data_returnreport.sql

备份test库t1表的结构

mysqldump -S /tmp/mysql3307.sock -uroot -pmysql --single-transaction --set-gtid-purged=OFF -d test t1 > 20180504t1_meta.sql

或者

mysqldump -S /tmp/mysql3307.sock -uroot -pmysql --single-transaction --set-gtid-purged=OFF --no-data test t1 > 20180504t1_meta01.sql

把-d 换成--no-date

备份test库中t表中数据信息:

mysqldump -S /tmp/mysql3307.sock -uroot -pmysql --single-transaction --set-gtid-purged=OFF -t test t1 >20180524t1_data.sql

从表结构备份和表数据备份中恢复单表

先恢复表结构,在往里面导数据

查看表结构:

恢复数据:

mysql -S /tmp/mysql3307.sock -uroot -pmysql test <20180524t1_data.sql

备份test库指定条件数据

mysqldump -S /tmp/mysql3307.sock -uroot -pmysql --single-transaction --set-gtid-purged=OFF test t1 --where="id>45000" >20180524_t_part.sql

注意:

where 后面建议为双引号,以防止不识别条件。

查看备份文件:

转载于:https://www.cnblogs.com/hmwh/p/9083399.html

Mysqldump逻辑备份与恢复相关推荐

  1. Oracle逻辑备份与恢复

    1. 备份的类型 按照备份方式的不同,可以把备份分为两类: 1.1 逻辑备份:指通过逻辑导出对数据进行备份.将数据库中的用户对象导出到一个二进制文件中,逻辑备份使用导入导出工具:EXPDP/IMPDP ...

  2. oracle12c备份和恢复,Oracle12c数据的逻辑备份与恢复

    数据库恢复是指在数据库发生故障时,使用数据库备份还原数据库,使数据库恢复到无故障状态. 根据数据库恢复时使用的备份不同,恢复分为物理恢复和逻辑恢复.所谓的物理恢复就是,利用物理备份来恢复数据库,即利用 ...

  3. cmd oracle sys登录_Oracle 数据库、表、方案的逻辑备份与恢复

    数据库(表)的逻辑备份与恢复 逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程,逻辑恢复是指当数据库对象被破坏而使用工具import利用备份的文件把数据对象导入到数据库的过程,逻 ...

  4. Oracle数据库逻辑备份与恢复(3)——数据泵(expdp、impdp)

    Oracle数据库逻辑备份与恢复(3)--数据泵(expdp.impdp) 使用数据泵技术(expdp.impdp)导出和导入数据比使用exp.imp命令导出和导入数据速度要快,原因是数据泵技术可以使 ...

  5. mysqldump逻辑备份

    目录 一.了解mysqldump工具 1.1 物理备份和逻辑备份 1.2 常用备份选项 二.mysqldump备份及恢复 2.1 备份表 2.2 备份库 2.3 恢复库 2.4 恢复表 2.5 备份表 ...

  6. 使用MySQLDUMP进行数据库逻辑备份与恢复

    MEB与PXB底层的技术依赖于物理文件的复制,也就是说它们能够支持的最小粒度,只能到达文件层面.这就意味着,当用户只需要某些行的数据,或者其他特定行的对象时,MEB和PXB将会无法满足要求.因为这类需 ...

  7. Mysqldump逻辑备份恢复与binglog日志恢复

    前言 环境:cetos7 数据库:Mysql7.4 Mysqldump简介: mysqldump 是 MySQL 自带的逻辑备份工具. 它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数 ...

  8. mysql数据库逻辑备份与恢复_Mysqldump逻辑备份与恢复

    文档结构: mysqldump备份影响性能,可能会把内存里面的热数据给冲刷掉,5.7后,新增一个参数,innodb_buffer_pool_dump_pct,控制每个innodb_buffer中转存活 ...

  9. linux exp parfile用法,逻辑备份与恢复-使用EXP进行逻辑备份

    导入/导出(IMP/EXP)是Oracle最古老的两个命令行工具,通过导出(EXP)工具可以将Oracle数据库中的数据提取出来,在恢复时可以将数据导入(IMP)进行恢复. 但是需要注意的是,使用EX ...

最新文章

  1. Apache Tez介绍,术语,安装,监控等
  2. python入门文件读取与写入_初学者Python:读取和写入同一文件
  3. 学习 MySQL 高性能优化原理,这一篇就够了!
  4. .NET Core 3.0 webapi集成Swagger 5.0
  5. 快抢!猪年之前最后一波送书福利,错过只能等“明年”
  6. Spring-ConfigurationClass类
  7. Android内容提供者(读取手机联系人信息)
  8. 有效数据包含额外数据_设置数据有效性的一些技巧
  9. 我不是来约架,我只是请他们说几句实话——QCon上海2015编程语言专题前瞻
  10. 大工《画法几何与机械制图》课程设计大作业离线作业
  11. java自动化键盘组合键_SELENIUM自动化模拟键盘快捷键操作实现解析
  12. Appium-iOS环境搭建
  13. iphone,ipad 尺寸,iphone常用控件尺寸
  14. IOS开发—iOS视频拍摄与压缩
  15. 第一个项目的大概流程
  16. esxi服务器下虚拟机Ubuntu系统搭建PPPoE拨号服务
  17. 焦作市宇华学校2021高考成绩查询,河南2021高考最高分多少分,河南历年高考状元资料...
  18. VMware设置虚拟机连接内外网
  19. Qt的Q_UNUSED()函数的功能
  20. 红米note9 android10,红米note9pro和红米note10pro区别

热门文章

  1. h桥控制电机刹车_082 电机驱动桥集成式的结构,定速比10左右,松油门或轻踩刹车瞬间,出现齿轮撞击的情况,是什么原因导致的?应该采取什么措施?...
  2. ubuntu检查端口是否开启_Ubuntu默认防火墙安装、启用、配置、端口、查看状态相关信息...
  3. JSON字符串转为指定实体类对象
  4. fiddler设置中文版本_教你下载iOS老版本应用
  5. open dwg file_体育直播间 | 时隔六年,又一次中韩对决!S10全球总决赛SN对战DWG!...
  6. 【微信小程序】生成二维码方式
  7. tfds.load()和tf.data.Dataset的简介
  8. 启动ubuntu无反应_推荐一款优秀的Python IDE以及在Ubuntu下的安装
  9. java黑色_java-透明的黑色圆圈
  10. 路由器选华硕还是tp_路由器的坑太多,就算写着“千兆”你也要当心丨618选购指南...