亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Mysql如何通過ibd文件恢復數(shù)據(jù)

 更新時間:2023年08月26日 09:55:34   作者:Smile_微笑  
這篇文章主要介紹了Mysql如何通過ibd文件恢復數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

Mysql ibd文件恢復問題

恢復步驟

1、創(chuàng)建數(shù)據(jù)庫(隨意創(chuàng)建)

2、創(chuàng)建數(shù)據(jù)表(備注:表結構要和要恢復的表結構一致,row_format要和ibd文件的row_format一致,否則,會提示兩者不一致。 當前row_format=dynamic)

3、表的屬性查看

我們使用:show table status like ‘matlab’\G,查看表的屬性

備注:創(chuàng)建表時候的row_format和表屬性的不一致,基于innodb是,要把row_format設置成dynamic時,需要修改mysql的全局配置,直接在myql命令中修改:set global innodb_file_format=Barracuda;

4、表錯誤信息查看 show warnings

5、說明我們在恢復表的時候,要保證row_format和ibd文件的一致,如果ibd文件是compact的話,需要建表的時候,設置成row_format=compact,在恢復的時候,自行解決,從第6步開始,重點說明如何去恢復。

6、恢復第一步:移除表空間

 **alter table matlab DISCARD TABLESPACE;**

7、恢復第二步:將備份的ibd文件,放到mysql->data->創(chuàng)建的數(shù)據(jù)庫名稱->,將ibd拷貝到此目錄下,如下所示具體路徑查看

-- 使用sql查詢數(shù)據(jù)目錄
**show global variables like '%datadir%';**

8、恢復第三步:重新導入表空間

 **alter table matlab IMPORT TABLESPACE;**

9、當執(zhí)行到上一步完成后,我們發(fā)現(xiàn)數(shù)據(jù)庫中的數(shù)據(jù)已經完全恢復過來了

10、數(shù)據(jù)表的結構一定要和恢復前的數(shù)據(jù)表結構一致,否則恢復失敗,導致mysql進程重啟,詳細情況需要查看mysql的error日志進行分析,另外,mysql的CE工具提供了便捷的mysql參數(shù)配置修改功能

mysql基于idb文件恢復數(shù)據(jù)問題 

適用于mysql8.0+,mysql5版本沒測試過

數(shù)據(jù)庫因為磁盤損壞起不來了,好在data目錄下的idb文件還在,可以基于idb文件恢復數(shù)據(jù)

步驟:

  • 創(chuàng)建schem和表
  • 將新建表關聯(lián)
  • 復制idb文件
  • import表

注意執(zhí)行順序

創(chuàng)建shcema

需要找一個同版本的mysql數(shù)據(jù)庫,創(chuàng)建一個空的schema

create database test;

然后創(chuàng)建一個相同結構的表結構

//測試環(huán)境數(shù)據(jù)庫損壞,我登錄開發(fā)環(huán)境切換到對應db下,查看對應的表結構
//如果有備份的庫也可以,導入一個schmea查看表結構。或者從開發(fā)人員那里索要表結構
show create table dev;
//這里是我在開發(fā)環(huán)境上看到的表結構
CREATE TABLE `match_rules` (
? `id` bigint NOT NULL AUTO_INCREMENT,
? `app_id` varchar(32) DEFAULT NULL,
? `rule_id` varchar(32) DEFAULT NULL,
? `rule_type` int DEFAULT NULL,
? `conditions` json DEFAULT NULL,
? `results` json DEFAULT NULL,
? `show_data` json DEFAULT NULL,
? `create_time` datetime DEFAULT NULL,
? `update_time` datetime DEFAULT NULL,
? `valid` int DEFAULT NULL,
? `version_number` int DEFAULT NULL,
? PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=149 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
//粘貼上面的表結構,到新建的庫下執(zhí)行,注意切換到對應的schema上

將新建表關聯(lián)

上面我們把表結構創(chuàng)建好了,接下來需要將表關聯(lián)

ALTER TABLE your_table DISCARD TABLESPACE;

復制idb文件

首先,將 .ibd 文件復制到 MySQL 數(shù)據(jù)目錄中,例如 /var/lib/mysql/your_database/ 目錄。

請確保文件具有正確的權限,并且 MySQL 用戶可以訪問該文件

import表

//執(zhí)行完后我們可以切換到對應的表下面,可以看到數(shù)據(jù)了
ALTER TABLE your_table IMPORT TABLESPACE;

//如果是給開發(fā)人員使用,記得授權

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Windows環(huán)境下的MYSQL5.7配置文件定位圖文分析

    Windows環(huán)境下的MYSQL5.7配置文件定位圖文分析

    本文通過圖文并茂的形式給大家介紹了Windows環(huán)境下的MYSQL5.7配置文件定位 ,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • MySQL系列之十五 MySQL常用配置和性能壓力測試

    MySQL系列之十五 MySQL常用配置和性能壓力測試

    今天給大家?guī)硪黄坛剃P于MySQL常用配置和性能壓力測試的知識,文中配置參數(shù)以32內存的服務器為例,通過實例代碼給大家介紹的非常詳細,需要的朋友參考下吧
    2021-07-07
  • 深入MYSQL中的COLLATE

    深入MYSQL中的COLLATE

    MYSQL COLLATE是用于指定字符集的排序規(guī)則的關鍵詞,它可以用于在查詢中對字符數(shù)據(jù)進行排序和比較,具有一定的參考價值,感興趣的可以了解一下
    2023-08-08
  • MySql常用數(shù)據(jù)類型與操作詳解

    MySql常用數(shù)據(jù)類型與操作詳解

    MySQL 是最流行的關系型數(shù)據(jù)庫管理系統(tǒng),在WEB應用方面 MySQL 是最好的。本文將為大家詳細介紹一下MySQL的基礎操作,需要的可以參考一下
    2022-07-07
  • MySQL DELETE語法使用詳細解析

    MySQL DELETE語法使用詳細解析

    此文章主要講述的是MySQL DELETE語法的詳細解析,以及一些在實際操作中值得我們大家注意的相關事項的描述,以下就是正文的主要內容
    2013-03-03
  • MySQL for update鎖表還是鎖行校驗(過程詳解)

    MySQL for update鎖表還是鎖行校驗(過程詳解)

    在MySQL中,使用for update子句可以對查詢結果集進行行級鎖定,以便在事務中對這些行進行更新或者防止其他事務對這些行進行修改,這篇文章主要介紹了MySQL for update鎖表還是鎖行校驗,需要的朋友可以參考下
    2024-02-02
  • Mysql優(yōu)化方法詳細介紹

    Mysql優(yōu)化方法詳細介紹

    MySQL的優(yōu)化指的是一個很大的系統(tǒng),面試的時候我之前是從sql的語句優(yōu)化方面去說的,這種優(yōu)化也有作用,不過是從邏輯方面去優(yōu)化,下面這篇文章主要給大家介紹了關于MySQL查詢緩存優(yōu)化的相關資料,需要的朋友可以參考下
    2023-02-02
  • MySQL?中的?SQL_MODE?設置方法ANSI_QUOTES?選項解析與應用小結

    MySQL?中的?SQL_MODE?設置方法ANSI_QUOTES?選項解析與應用小結

    sql_mode是?MySQL?中的一個系統(tǒng)變量,用于控制?SQL?語句的解析和執(zhí)行方式,它由多個選項組成,每個選項都可以獨立設置,以滿足不同的應用場景需求,這篇文章主要介紹了MySQL?中的?SQL_MODE?設置:ANSI_QUOTES?選項解析與應用
    2024-12-12
  • Mysql中DATEDIFF函數(shù)的基礎語法及練習案例

    Mysql中DATEDIFF函數(shù)的基礎語法及練習案例

    Datediff函數(shù),最大的作用就是計算日期差,能計算兩個格式相同的日期之間的差值,下面這篇文章主要給大家介紹了關于Mysql中DATEDIFF函數(shù)的基礎語法及練習案例?的相關資料,需要的朋友可以參考下
    2022-09-09
  • MySQL中使用load data命令實現(xiàn)數(shù)據(jù)導入的方法

    MySQL中使用load data命令實現(xiàn)數(shù)據(jù)導入的方法

    MySQL支持load data命令的數(shù)據(jù)導入,該方式比直接的insert的效率要高,按照官方的說法是要比insert語句快上20倍
    2013-10-10

最新評論