MySQL 5.6.26 通过frm ibd 恢复数据过程
在A服務器上創建數據庫yoon
root(yoon)> show create table yoon\G
*************************** 1. row ***************************
Table: yoon
Create Table: CREATE TABLE `yoon` (
`id` int(11) DEFAULT NULL,
`name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
插入數據
root(yoon)> insert into yoon values (1,'HANK');
Query OK, 1 row affected (1.01 sec)
root(yoon)> insert into yoon values (2,'YOON');
Query OK, 1 row affected (0.04 sec)
root(yoon)> insert into yoon values (3,'GARY');
Query OK, 1 row affected (0.00 sec)
root(yoon)> insert into yoon values (4,'NIKO');
Query OK, 1 row affected (0.02 sec)
root(yoon)> select * from yoon;
+------+------+
| id | name |
+------+------+
| 1 | HANK |
| 2 | YOON |
| 3 | GARY |
| 4 | NIKO |
+------+------+
4 rows in set (0.00 sec)
在B服務器上,添加參數innodb_force_recovery=1并重啟,創建空數據庫yoon,并創建表yoon
mysql> create database yoon;
use yooQuery OK, 1 row affected (1.01 sec)
mysql> use yoon;
Database changed
mysql> CREATE TABLE `yoon` (
-> `id` int(11) DEFAULT NULL,
-> `name` varchar(20) DEFAULT NULL
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.09 sec)
將表結構和空間脫離
mysql> alter table yoon discard tablespace;
Query OK, 0 rows affected (0.02 sec)
將A服務器上的ibd數據文件傳輸至B服務器上
scp yoon.ibd 182.19.4.7:/export/data/mysql/data/yoon
修改權限
chown -R mysql.mysql yoon.ibd
將表結構和空間建立關系
mysql> alter table yoon import tablespace;
Query OK, 0 rows affected, 1 warning (0.04 sec)
查詢數據
mysql> select * from yoon;
+------+------+
| id | name |
+------+------+
| 1 | HANK |
| 2 | YOON |
| 3 | GARY |
| 4 | NIKO |
+------+------+
4 rows in set (0.00 sec)
詳細步驟如下:
1、停止mysql服務,添加innodb_force_recovery=1 ,啟動mysql服務
2、創建新數據庫,創建相同表結構的表(表結構必須相同)
3、執行alter table tb discard tablespace;
4、刪除表的ibd文件
5、跨服務器復制表ibd文件
6、修改ibd文件權限,執行alter table tb import tablespace;
轉載于:https://www.cnblogs.com/hankyoon/p/5667884.html
總結
以上是生活随笔為你收集整理的MySQL 5.6.26 通过frm ibd 恢复数据过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信OPENID授权方法
- 下一篇: 【转载】CMake 简介和 CMake