网站优化电话,怎么做网站图标,子洲网站建设平台,网页布局的基本概念看腻了就来听听视频演示吧#xff1a;https://www.bilibili.com/video/BV1Bp4y1F7kd/
MyISAM引擎可单独将 *.MYD和 *.MYI 拷贝到远程服务器上InnoDB引擎受限于版本#xff08;MySQL5.5#xff09;无法直接拷贝.ibd文件#xff0c;因为在ibdata1文件保存有表的字典信息https://www.bilibili.com/video/BV1Bp4y1F7kd/
MyISAM引擎可单独将 *.MYD和 *.MYI 拷贝到远程服务器上InnoDB引擎受限于版本MySQL5.5无法直接拷贝.ibd文件因为在ibdata1文件保存有表的字典信息在ibd文件保存有事务ID和日志序列号只能用dump方式。
操作步骤
获取备份表DDL统计数据集用于恢复后校样锁表导出表对应的数据字典文件备份表对应的数据文件和数据字典文件解锁恢复表的相关业务操作在恢复环境上创建该表DDL测试演练在同一环境故先删表再重建该表关闭该表的数据空间即会删除该表的ibd数据文件将备份数据文件和数据字典文件copy到对应数据目录下应用表空间恢复数据并进行恢复后检查验证恢复的数据集
直接上案例模拟演示
# MySQL 6 可以直接拷贝的前提条件是独立表空间即innodb_file_per_table1
mysql show variables like innodb_file_per_table;
------------------------------
| Variable_name | Value |
------------------------------
| innodb_file_per_table | ON |
------------------------------# 查看测试表DDL
mysql show create table t12\G
*************************** 1. row ***************************Table: t12
Create Table: CREATE TABLE t12 (pid bigint(20) unsigned NOT NULL DEFAULT 0,pname varchar(20) DEFAULT NULL,project varchar(20) DEFAULT NULL,tvalue decimal(5,2) DEFAULT NULL,unit varchar(8) DEFAULT NULL
) ENGINEInnoDB DEFAULT CHARSETutf8
1 row in set (0.00 sec)
# 查看测试表数据
mysql select * from t12;
------------------------------------
| pid | pname | project | tvalue | unit |
------------------------------------
| 1 | 王五 | 身高 | 172.34 | cm |
| 2 | 王五 | 体重 | 69.52 | kg |
| 3 | 王五 | 年龄 | 22.00 | 岁 |
| 4 | 赵六 | 身高 | 170.52 | cm |
| 5 | 赵六 | 体重 | 80.52 | kg |
| 6 | 赵六 | 年龄 | 26.00 | 岁 |
------------------------------------
6 rows in set (0.00 sec)# 表加全局读锁即把.cfg数据字典文件导出到磁盘上
mysql flush tables t12 for export;
Query OK, 0 rows affected (0.00 sec)# 拷贝数据目录对应库名下的 t12.ibd 和 t12.cfg文件然后修改属性
[rootdb01 mdb]# mkdir /tmp/mysql_back
[rootdb01 mdb]# ll t12.*
-rw-r----- 1 mysql mysql 585 Sep 2 16:16 t12.cfg
-rw-r----- 1 mysql mysql 8690 Sep 2 16:11 t12.frm
-rw-r----- 1 mysql mysql 98304 Sep 2 16:11 t12.ibd
[rootdb01 mdb]# cp t12.ibd /tmp/mysql_back
[rootdb01 mdb]# cp t12.cfg /tmp/mysql_back
[rootdb01 mdb]# chown -R mysql.mysql /tmp/mysql_back/t12.*
[rootdb01 mdb]# ll /tmp/mysql_back/t12.*
-rw-r----- 1 mysql mysql 585 Sep 2 16:18 /tmp/mysql_back/t12.cfg
-rw-r----- 1 mysql mysql 98304 Sep 2 16:18 /tmp/mysql_back/t12.ibd# 解锁模拟删表
mysql unlock tables;
Query OK, 0 rows affected (0.00 sec)
mysql drop table t12;
Query OK, 0 rows affected (0.00 sec)
# 创建原表结构
mysql CREATE TABLE t12 (- pid bigint(20) unsigned NOT NULL DEFAULT 0,- pname varchar(20) DEFAULT NULL,- project varchar(20) DEFAULT NULL,- tvalue decimal(5,2) DEFAULT NULL,- unit varchar(8) DEFAULT NULL- ) ENGINEInnoDB DEFAULT CHARSETutf8;
Query OK, 0 rows affected (0.01 sec)# 关闭表的数据空间并会删除其数据文件t12.ibd
mysql alter table t12 discard tablespace;
Query OK, 0 rows affected (0.01 sec)# 再把备份的t12.ibd 和 t12.cfg文件拷贝过来
[rootdb01 mdb]# mv /tmp/mysql_back/t12.cfg .
[rootdb01 mdb]# mv /tmp/mysql_back/t12.ibd .
[rootdb01 mdb]# ll t12.*
-rw-r----- 1 mysql mysql 585 Sep 2 16:18 t12.cfg
-rw-r----- 1 mysql mysql 8690 Sep 2 16:26 t12.frm
-rw-r----- 1 mysql mysql 98304 Sep 2 16:18 t12.ibd# 应用表空间恢复数据并进行恢复后检查
mysql alter table t12 import tablespace;
Query OK, 0 rows affected (0.01 sec)
mysql check table t12;
------------------------------------
| Table | Op | Msg_type | Msg_text |
------------------------------------
| mdb.t12 | check | status | OK |
------------------------------------
1 row in set (0.00 sec)# 验证数据是否恢复回来
mysql select * from t12;
------------------------------------
| pid | pname | project | tvalue | unit |
------------------------------------
| 1 | 王五 | 身高 | 172.34 | cm |
| 2 | 王五 | 体重 | 69.52 | kg |
| 3 | 王五 | 年龄 | 22.00 | 岁 |
| 4 | 赵六 | 身高 | 170.52 | cm |
| 5 | 赵六 | 体重 | 80.52 | kg |
| 6 | 赵六 | 年龄 | 26.00 | 岁 |
------------------------------------
6 rows in set (0.00 sec)MySQL的binlog系列和奇技操作
先来聊聊MySQL的binlog文件解析 接着说说mysqlbinlog解析工具如何做数据恢复 再来谈谈如何从binlog文件恢复误update的数据模拟Oracle的闪回功能 接着聊聊如何从binlog文件恢复误delete的数据模拟Oracle的闪回功能 借用binlog2sql工具轻松解析MySQL的binlog文件再现Oracle的闪回功能 再来介绍另一个binlog文件解析的第三方工具my2sql 顺带来聊聊MySQL误删ibdata数据文件的恢复 MySQL大表直接复制文件的copy方式