mysql tablespace(独立表空间)超速备份大数据
前序
对于用户自主创建的表,会采用此种模式,每个表由一个独立的表空间进行管理备份(速度相当的猛)
首先介绍一下文件
.ibd就被称之为独立表空间的数据文件 .frm就是元数据文件 就是创建表后生成的
独立表空间可以通过开关控制,默认状态查询一下
show variables like '%per_table%';

环境
实例
mysql1:192.168.137.176
mysql2:192.168.137.180
mysql版本
mysql 5.7.22
数据库/表
zskdb/cas_user
实践
137.180 原始数据(旧机器)
137.176 新数据(新机器)
目的: 把就机器的数据全部迁移到新机器176上面。
192.168.137.180
1. 先导出数据表结构
[root@localhost cheng]# mysqldump -u root -p123456 --add-locks -q -d zskdb > /home/cheng/cas_user.sql

2.备份cas_user.idb文件到相关目录
cp /data/mysql/zskdb/cas_user.ibd ./

3.把备份文件传输到137.176上面
[root@localhost cheng]# scp cas_user.* root@192.168.137.176:/home/cheng
root@192.168.137.176's password:
cas_user.ibd 100% 11MB 22.5MB/s 00:00
cas_user.sql 100% 3141 1.4MB/s 00:00
[root@localhost cheng]#
192.168.137.176
1.验证


保证文件在传输过程中没有收到破坏。
2.创建数据库
CREATE DATABASE `zskdb` CHARACTER SET utf8 COLLATE utf8_general_ci;

3.导入表结构
source /home/cheng/cas_user.sql mysql> source /home/cheng/cas_user.sql
Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec)
表中是没有数据的,验证一下
mysql> show tables;
+-----------------+
| Tables_in_zskdb |
+-----------------+
| cas_user |
+-----------------+
1 row in set (0.00 sec) mysql>
mysql> select * from cas_user;
Empty set (0.01 sec)
4.删除表空间
mysql> alter table zskdb.cas_user discard tablespace;
Query OK, 0 rows affected (0.02 sec)

5.把刚才备份的idb文件丢上来(扔到当前数据库表目录文件夹), 授权用户/组
cp cas_user.ibd /data/mysql/zskdb/ ; chown -R mysql:mysql /data/mysql/zskdb/

6.重新赋予表空间
alter table zskdb.cas_user import tablespace;

7.现在数据已经全部扔进去了, 验证一下
mysql> select count(1) from zskdb.cas_user;
+----------+
| count(1) |
+----------+
| 71123345 |
+----------+
1 row in set (0.04 sec) mysql>
成功!!
mysql tablespace(独立表空间)超速备份大数据的更多相关文章
- [Mysql]Innodb 独立表空间和共享表空间
innodb有2中表空间方式: 共享表空间 和 独立表空间 查询数据的设置: show variables like '%per_table'; 默认是共享表空间,独立表空间在配置文件中添加 inno ...
- mysql中独立表空间与共享表空间之前如何切换
环境 mysql版本:5.7.19 官方文档:(https://dev.mysql.com/doc/refman/5.7/en/innodb-multiple-tablespaces.html) 查看 ...
- MySQL InnoDB独立表空间模式的优点和缺点介绍
File-Per-Table的优点: 1.当表删除或者truncate,空间可以被OS回收.2.Truncate table在单个.ibd文件上执行更快.3.可以为每个表指定一个特定存储.优化IO ...
- MySQL 参数- Innodb_File_Per_Table(独立表空间)
Innodb存储引擎可将所有数据存放于ibdata*的共享表空间,也可将每张表存放于独立的.ibd文件的独立表空间.共享表空间以及独立表空间都是针对数据的存储方式而言的. 共享表空间某一个数据库的所有 ...
- MySQL Server参数优化 - innodb_file_per_table(独立表空间)
1 简介 Innodb存储引擎可将所有数据存放于ibdata*的共享表空间,也可将每张表存放于独立的.ibd文件的独立表空间. 共享表空间以及独立表空间都是针对数据的存储方式而言的. ...
- MySQL如何判别InnoDB表是独立表空间还是共享表空间
InnoDB采用按表空间(tablespace)的方式进行存储数据, 默认配置情况下会有一个初始大小为10MB, 名字为ibdata1的文件, 该文件就是默认的表空间文件(tablespce file ...
- MySQL 独立表空间恢复案例
创建表的时候就会得到元数据.可以通过定义的方式对表的元数据进行生成 这个地方要注意的是 独立表空间当中 ibd & frm分别存储的是什么数据? 表空间:文件系统,为了更好的扩容数据库的存 ...
- mysql共享表空间和独立表空间
innodb这种引擎,与MYISAM引擎的区别很大.特别是它的数据存储格式等. 对于innodb的数据结构,首先要解决两个概念性的问题: 共享表空间以及独占表空间. 什么是共享表空间和独占表空间 共享 ...
- MySQL数据库系列(四)- InnoDB下的共享表空间和独立表空间详解
一.概念 共享表空间: Innodb的所有数据保存在一个单独的表空间里面,而这个表空间可以由很多个文件组成,一个表可以跨多个文件存在,所以其大小限制不再是文件大小的限制,而是其自身的限制.从Innod ...
随机推荐
- UOJ#206. 【APIO2016】Gap 构造 交互题
原文链接www.cnblogs.com/zhouzhendong/p/UOJ206.html 题解 T = 1 的情况直接大力从两边向中间询问即可. T = 2 的情况挺妙的,我没想到. 考虑首先花费 ...
- mongodb不断刷日志的问题
项目启动不断的循环刷日志. 在log4j.properties的配置文件中加上一行关闭即可 log4j.logger.org.mongodb.driver=OFF
- P1119 灾后重建 floyd
题目背景 BB地区在地震过后,所有村庄都造成了一定的损毁,而这场地震却没对公路造成什么影响.但是在村庄重建好之前,所有与未重建完成的村庄的公路均无法通车.换句话说,只有连接着两个重建完成的村庄的公路才 ...
- pycharm的list中clear的应用
#清空的意思 li = [11,22,33,44] li.clear() print(li) #输出[],就是把列表清空
- python 判断连个 Path 是否是相同的文件夹
python 判断连个 Path 是否是相同的文件夹 import os os.path.normcase(p1) == os.path.normcase(p2) normcase() 在 windo ...
- sklearn库 线性回归库 LinearRegression
import numpy as np import sklearn.datasets #加载原数据 from sklearn.model_selection import train_test_spl ...
- 【转】window.onerror跨域问题
What the heck is "Script error"? Ben Vinegar/ May 17, 2016 If you’ve done any work with th ...
- Java实现杨辉三角
杨辉三角用了两种方法解决 二维数组/递归方法 +—————————————————————————— import java.util.Scanner; public class YangHui02 ...
- vue 格式化银行卡(信用卡)每4位一个符号隔断
问题 在做银行卡输入框时有一个需求如题,这里举例用-隔断 调查 查看了很多大公司网站的银行卡输入,发现还有有很多缺陷的: 有的是在中间删除,光标会跳到最后: 有的是能删除掉中间隔断符的: 等等,逻辑感 ...
- for循环:用turtle画一颗五角星
import turtle # 设置初始位置 turtle.penup() turtle.left(90) turtle.fd(200) turtle.pendown() turtle.right(9 ...