Mysqldump逻辑备份与恢复
文档结构:
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逻辑备份与恢复相关推荐
- Oracle逻辑备份与恢复
1. 备份的类型 按照备份方式的不同,可以把备份分为两类: 1.1 逻辑备份:指通过逻辑导出对数据进行备份.将数据库中的用户对象导出到一个二进制文件中,逻辑备份使用导入导出工具:EXPDP/IMPDP ...
- oracle12c备份和恢复,Oracle12c数据的逻辑备份与恢复
数据库恢复是指在数据库发生故障时,使用数据库备份还原数据库,使数据库恢复到无故障状态. 根据数据库恢复时使用的备份不同,恢复分为物理恢复和逻辑恢复.所谓的物理恢复就是,利用物理备份来恢复数据库,即利用 ...
- cmd oracle sys登录_Oracle 数据库、表、方案的逻辑备份与恢复
数据库(表)的逻辑备份与恢复 逻辑备份是指使用工具export将数据对象的结构和数据导出到文件的过程,逻辑恢复是指当数据库对象被破坏而使用工具import利用备份的文件把数据对象导入到数据库的过程,逻 ...
- Oracle数据库逻辑备份与恢复(3)——数据泵(expdp、impdp)
Oracle数据库逻辑备份与恢复(3)--数据泵(expdp.impdp) 使用数据泵技术(expdp.impdp)导出和导入数据比使用exp.imp命令导出和导入数据速度要快,原因是数据泵技术可以使 ...
- mysqldump逻辑备份
目录 一.了解mysqldump工具 1.1 物理备份和逻辑备份 1.2 常用备份选项 二.mysqldump备份及恢复 2.1 备份表 2.2 备份库 2.3 恢复库 2.4 恢复表 2.5 备份表 ...
- 使用MySQLDUMP进行数据库逻辑备份与恢复
MEB与PXB底层的技术依赖于物理文件的复制,也就是说它们能够支持的最小粒度,只能到达文件层面.这就意味着,当用户只需要某些行的数据,或者其他特定行的对象时,MEB和PXB将会无法满足要求.因为这类需 ...
- Mysqldump逻辑备份恢复与binglog日志恢复
前言 环境:cetos7 数据库:Mysql7.4 Mysqldump简介: mysqldump 是 MySQL 自带的逻辑备份工具. 它的备份原理是通过协议连接到 MySQL 数据库,将需要备份的数 ...
- mysql数据库逻辑备份与恢复_Mysqldump逻辑备份与恢复
文档结构: mysqldump备份影响性能,可能会把内存里面的热数据给冲刷掉,5.7后,新增一个参数,innodb_buffer_pool_dump_pct,控制每个innodb_buffer中转存活 ...
- linux exp parfile用法,逻辑备份与恢复-使用EXP进行逻辑备份
导入/导出(IMP/EXP)是Oracle最古老的两个命令行工具,通过导出(EXP)工具可以将Oracle数据库中的数据提取出来,在恢复时可以将数据导入(IMP)进行恢复. 但是需要注意的是,使用EX ...
最新文章
- ChIP-seq基本分析流程
- MySQL创建数据库时指定编码和用户授权
- HBase 2.0 之修复工具 HBCK2 运维指南
- MATLAB中FFT的使用方法
- [NOTE] Linux环境变量
- duilib各种布局的作用,相对布局与绝对布局的的意义与用法
- 移动支付php,银联手机支付服务端PHP端代码
- c++第n小的质数_形形色色的素数 -- 质数定理
- android 原生开发 3d地图 下载_arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)...
- 1.11 为什么使用卷积?
- SQL Server - SQL Server 2016新特性之 --- Query Store
- 快速删除node_modules文件夹!!!
- typora html代码无效,Typora优化-适合不懂CSS代码的小白
- 使用Java实现邮件的发送
- linux 卸载nvidia显卡驱动,Ubuntu 16.04 卸载Nvidia显卡驱动和cuda
- html批量采集,批量采集网页数据 - 八爪鱼采集器
- 90后大学生卖煎饼月收入4k
- 亚朵更新招股书:继续推进纳斯达克上市,已提前“套现”2060万元
- 三十岁开始学Java
- Win11图标变暗怎么办?Win11图标变暗的解决方法
热门文章
- ios调用restful接口_Postman调用https异常解决
- 网易云音乐一键听歌300首_网易云打卡,一键听歌300首。
- 脚本启动Tomcat
- 蓝牙小电池图标_丽声小百科 | 乐趣助听器如何连接iPhone手机?
- php函数删除非空目录,删除文件夹(非空目录)及其中所有文件的思路及源代码
- des解密 given final_人设不能崩[无限]作者:条纹花瓶(无限流+解密+闯关+直播+爽文)...
- Elasticsearch Transient与Persistent的区别
- SpringMVC使用AOP
- 自然语言处理之循环神经网络(五)
- 一行代码值 200 万?雷军公开小米新 Logo 引吐槽