婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > mysql 從 frm 文件恢復 table 表結構的3種方法【推薦】

mysql 從 frm 文件恢復 table 表結構的3種方法【推薦】

熱門標簽:高德地圖標注中心個人注冊 外呼系統防封號違法嗎 如何在高德地圖標注新地址 400電話辦理都選易號網 湘潭電銷機器人咨詢電話 寶應電信400電話辦理費用 高德地圖標注模式 外呼系統服務 電銷機器人針對的

mysql 正常運行的時候,查看 table 的結構并不是困難的事。

 但是有時 mysql 發生故障,這種方法便不再可行。

當遇到故障,通常使用新的 mysql 實例來恢復當前的數據。

建表是非常重要的步驟,我們必須有其它的方法來尋找 table 的結構。

table 結構定義在哪里

通常關注的用戶數據,底層都實際存儲在 mysql 數據目錄。
 其它的元數據也不例外,比如 table 表結構的定義。

mysql 數據目錄文件結構是非常清晰的,

•目錄對應數據庫
•frm 文件存儲了 table 結構的定義
•ibdata 文件存儲了 mysql 的元數據及其它

table 定義的結構,就存在于 frm 文件中,當然管理元數據的 ibdata 也會有記錄。

當存在 frm 文件的時候,恢復表結構相對容易;
 但是如果執行了 drop table,便刪除了 frm 文件,本文所提供的方法就愛莫能助了。
 這種情況下,可以嘗試從 ibdata 恢復表結構,這暫時不在下面的討論范圍內。

解析 table 結構

下面介紹 3 種方式,從 frm 文件中,解析得到 create table 命令。

mysqlfrm

mysqlfrm 是 mysql utilities 工具集 中的其中之一,
 用于分析 frm 文件生成 create table 命令。
 目前已經不再更新,部分功能并入了新版本的 mysql shell(version 8 及以后)。

mysql utilities 需要 python2 環境,安裝非常簡單。

$ tar -xvzf mysql-utilities-1.6.5.tar.gz
$ cd mysql-utilities-1.6.5
$ python setup.py build
$ python setup.py install

mysqlfrm 支持兩類模式來解讀 frm:

直接分析

這種模式比較直接,逐個字節分析 frm 文件,盡可能的提取信息。

這種模式下,需要使用 --diagnostic 參數。

$ mysqlfrm --diagnostic /data/sakila/actor.frm

借助 mysql 實例分析

這種模式,借助新的 mysql 實例,從中完成 frm 的分析工作。
 可以用兩種方式來指定,如何開啟新的 mysql 實例。

一,從當前的 mysql 服務中 spawn,使用 --server 指定 mysql 服務

$ mysqlfrm --server=root:pass@localhost:3306 --port=3310 /data/sakila/actor.frm

二,啟動新的 mysql 實例,使用 --basedir 指定 mysql 程序路徑

$ mysqlfrm --basedir=/usr/local/bin/mysql --port=3310 /data/sakila/actor.frm

--port 給新的實例指定端口,是為了避免與當前的 3306 端口出現沖突。

dbsake

這是偶然發現的一個工具,文檔中它這樣介紹自己:

dbsake - a (s)wiss-(a)rmy-(k)nif(e) for MySQL

作者一定是一個對 mysql 很有心得的人,工具從下載,安裝到使用,簡單,利落。

$ curl -s get.dbsake.net > dbsake
$ chmod u+x dbsake
$ ./dbsake frmdump [frm-file-path]

online service

有一些在線的服務,也關注這樣的問題。
 使用過的twindb online,體驗非常好,相關的工具集也很棒。

從 Recover Structure -> from .frm file 入口,上傳 frm,就可以得到 create table 命令。

寫在最后

在使用上,可以多個工具都測試一下,對比哪個工具恢復的命令更為完善可取,選擇最佳的。

參考:

•mysqlfrm official doc

•dbsake project doc

總結

以上所述是小編給大家介紹的mysql 從 frm 文件恢復 table 表結構的3種方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

您可能感興趣的文章:
  • MySQL使用全庫備份數據恢復單表數據的方法
  • MySQL如何恢復單庫或單表,以及可能遇到的坑
  • MySQL單表恢復的步驟
  • 從MySQL全庫備份中恢復某個庫和某張表的方法
  • InnoDB 類型MySql恢復表結構與數據
  • MySQL 從全庫備份中恢復指定的表和庫示例
  • MySQL單表ibd文件恢復方法詳解
  • MYSQL使用.frm恢復數據表結構的實現方法
  • 用mysqldump備份和恢復指定表的方法
  • MySQL 利用frm文件和ibd文件恢復表數據

標簽:黃山 宿遷 賀州 黔南 南充 佛山 馬鞍山 蘭州

巨人網絡通訊聲明:本文標題《mysql 從 frm 文件恢復 table 表結構的3種方法【推薦】》,本文關鍵詞  mysql,從,frm,文件,恢復,table,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《mysql 從 frm 文件恢復 table 表結構的3種方法【推薦】》相關的同類信息!
  • 本頁收集關于mysql 從 frm 文件恢復 table 表結構的3種方法【推薦】的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 五原县| 广德县| 宕昌县| 乾安县| 黄大仙区| 治县。| 英德市| 商丘市| 汉寿县| 习水县| 武城县| 依安县| 甘洛县| 华池县| 馆陶县| 峨眉山市| 福建省| 柘荣县| 镇原县| 大关县| 搜索| 海伦市| 祁门县| 宜昌市| 铅山县| 双辽市| 临颍县| 静安区| 淮安市| 楚雄市| 上犹县| 绥阳县| 肇庆市| 时尚| 安塞县| 马尔康县| 仙桃市| 南乐县| 阿合奇县| 凉山| 松滋市|