幸运飞艇停吗

ASP源碼.NET源碼PHP源碼JSP源碼JAVA源碼DELPHI源碼PB源碼VC源碼VB源碼Android源碼
當前位置:首頁 >> 數據庫 >> MySql >> mysql 從 frm 文件恢復 table 表結構的3種方法

mysql 從 frm 文件恢復 table 表結構的3種方法(1/2)

來源:網絡整理     時間:2018-10-04     關鍵詞:

BENPIANWENZHANGZHUYAOJIESHAOLE" mysql CONG frm WENJIANHUIFU table BIAOJIEGOUDE3ZHONGFANGFA",ZHUYAOSHEJIDAOFANGMIANDENEIRONG,DUIYUMySqlGANXINGQUDETONGXUEKEYICANKAOYIXIA: mysql ZHENGCHANGYUNXINGDESHIHOU,CHAKAN table DEJIEGOUBINGBUSHIKUNNANDESHI。 DANSHIYOUSHI mysql FASHENGGUZHANG,ZHEZHONGFANGFABIANBUZAIKEXING。DANGYUDAOGUZHANG,TONGCHANGSHIYONGXINDE mysql ...

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

幸运飞艇停吗 DANSHIYOUSHI mysql FASHENGGUZHANG,ZHEZHONGFANGFABIANBUZAIKEXING。

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

JIANBIAOSHIFEICHANGZHONGYAODEBUZOU,WOMENBIXUYOUQITADEFANGFALAIXUNZHAO table DEJIEGOU。

table 結構定義在哪里

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

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

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

幸运飞艇停吗table DINGYIDEJIEGOU,JIUCUNZAIYU frm WENJIANZHONG,DANGRANGUANLIYUANSHUJUDE ibdata YEHUIYOUJILU。

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

解析 table 結構

幸运飞艇停吗XIAMIANJIESHAO 3 ZHONGFANGSHI,CONG frm WENJIANZHONG,JIEXIDEDAO create table MINGLING。

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 ZHICHILIANGLEIMOSHILAIJIEDU frm:

ZHIJIEFENXI

幸运飞艇停吗ZHEZHONGMOSHIBIJIAOZHIJIE,ZHUGEZIJIEFENXI frm WENJIAN,JINKENENGDETIQUXINXI。

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

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

幸运飞艇停吗JIEZHU mysql SHILIFENXI

這種模式,借助新的 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 GEIXINDESHILIZHIDINGDUANKOU,SHIWEILEBIMIANYUDANGQIANDE 3306 DUANKOUCHUXIANCHONGTU。

dbsake

幸运飞艇停吗ZHESHIOURANFAXIANDEYIGEGONGJU,WENDANGZHONGTAZHEYANGJIESHAOZIJI:

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

相關圖片

相關文章