朋友拿給我一套php源碼,數(shù)據(jù)庫竟然是.frm,.myd,myi文件合集,百度了一下
創(chuàng)新互聯(lián)是一家企業(yè)級云計算解決方案提供商,超15年IDC數(shù)據(jù)中心運營經(jīng)驗。主營GPU顯卡服務(wù)器,站群服務(wù)器,中國電信成都樞紐中心,海外高防服務(wù)器,服務(wù)器機柜,動態(tài)撥號VPS,海外云手機,海外云服務(wù)器,海外服務(wù)器租用托管等。
.frm是描述了表的結(jié)構(gòu), .myd保存了表的數(shù)據(jù)記錄, *.myi則是表的索引。 也就是.sql文件里面被“拆散”用來存表的文件。
我們都知道在虛擬主機上搭建php網(wǎng)站是只能上傳sql文件的,所以想了辦法去轉(zhuǎn)換,用navicat轉(zhuǎn)換行不通,最后看到了mysql/bin文件下的dump,就百度了一下,發(fā)現(xiàn)竟然可以直接轉(zhuǎn)換
首先把你的 .frm,.myd,myi文件合集放在一個文件夾(文件夾名就是你的數(shù)據(jù)庫名) 然后再把此文件夾放到mysql安裝目錄下的data文件夾里,
然后在命令提示符下進(jìn)入MySQL安裝目錄下的bin目錄,輸入mysqldump -uroot -p testdb testdb.sql 這里testdb就是數(shù)據(jù)庫的名字(也就是文件夾名) 然后在bin文件夾下就可以發(fā)現(xiàn)此.sql文件了
可是用mysqldump生成的.sql文件會導(dǎo)致含有觸發(fā)器注釋的錯誤。所以最好是在myphpadmin管理下自動導(dǎo)出為.sql 快速簡單。
phpMyAdmin只能導(dǎo)入.sql腳本,而不能導(dǎo)入.frm的,你可以把Data下的數(shù)據(jù)庫目錄打包給新空間商,讓他們幫你把數(shù)據(jù)庫文件復(fù)制到你網(wǎng)站所對應(yīng)的數(shù)據(jù)庫目錄下。這是唯一方法,沒第二種辦法。
有一個更要命的問題,如果你數(shù)據(jù)庫目錄下只有.frm文件,而沒有.MYD及.MYI文件,那么你的數(shù)據(jù)是完蛋了。因為一個數(shù)據(jù)表是由.frm .MYD .MYI構(gòu)成的,三者缺一不可。
在使用虛擬服務(wù)器時,服務(wù)器提供商一般不會像我們使用本地數(shù)據(jù)庫一樣:使用導(dǎo)入導(dǎo)出(這樣的文件后綴是*.sql)。大部分時候提供的是一個文件夾,里面包括:數(shù)據(jù)庫名文件夾,文件夾里包括,*.frm,*.MYI,*.MYD,并且包含一個db.opt文件。分別介紹一下:
*.frm----描述了表的結(jié)構(gòu)
*.MYI----表的索引
*.myd----保存了表的數(shù)據(jù)記錄
db.opt----用文本編輯器打開,可以看到里面保存的是編碼信息
要把上述的數(shù)據(jù)庫導(dǎo)入進(jìn)mysql:
安裝mysql數(shù)據(jù)庫:我安裝的數(shù)據(jù)庫是MySQL Server 5.5,安裝目錄選擇:D:\program files\MySQL (注意:路徑中不要包含中文)
在C:\Documents and Settings\All Users\Application Data\ 里找到 MySQL\MySQL Server 5.5文件夾,該文件夾下有個文件: my.ini
在my.ini文件里找到一個datadir的key如:datadir="C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\data\“
在3找到的一個data文件夾下,拷貝服務(wù)商提供備份時提供的文件(包括*.frm,*.MYI,*.MYD,db.opt)
一般重啟mysql服務(wù),在管理界面就可以看到表的結(jié)構(gòu)及數(shù)據(jù)了
在MySQL中每一個數(shù)據(jù)庫都會在定義好(或者默認(rèn))的數(shù)據(jù)目錄下存在一個以數(shù)據(jù)庫名字命名的文件夾,用來存放該數(shù)據(jù)庫中各種表數(shù)據(jù)文件。
1、“.frm”文件 與表相關(guān)的元數(shù)據(jù)(meta)信息都存放在“.frm”文件中,包括表結(jié)構(gòu)的定義信息等。不論是什么存儲引擎,每一個表都會有一個以表名命名的“.frm”文件。所有的“.frm”文件都存放在所屬數(shù)據(jù)庫的文件夾下面。
2、“.MYD”文件“ .MYD”文件是MyISAM存儲引擎專用,存放MyISAM表的數(shù)據(jù)。每一個MyISAM表都會有一個“.MYD”文件與之對應(yīng),同樣存放于所屬數(shù)據(jù)庫的文件夾下,和“.frm”文件在一起。
3、“.MYI”文件 “.MYI”文件也是專屬于MyISAM存儲引擎的,主要存放MyISAM表的索引相關(guān)信息。對于MyISAM存儲來說,可以被cache的內(nèi)容主要就是來源于“.MYI”文件中。每一個MyISAM表對應(yīng)一個“.MYI”文件,存放于位置和“.frm”以及“.MYD”一樣。
管理工具:
可以使用命令行工具管理 MySQL 數(shù)據(jù)庫(命令 mysql 和 mysqladmin),也可以從 MySQL 的網(wǎng)站下載圖形管理工具 MySQL Administrator, MySQL Query Browser 和 MySQL Workbench。
phpMyAdmin是由 php 寫成的 MySQ L資料庫系統(tǒng)管理程程序,讓管理者可用 Web 界面管理 MySQL 資料庫。
phpMyBackupPro也是由 PHP 寫成的,可以透過 Web 界面創(chuàng)建和管理數(shù)據(jù)庫。它可以創(chuàng)建偽 cronjobs,可以用來自動在某個時間或周期備份 MySQL 數(shù)據(jù)庫。另外,還有其他的 GUI 管理工具,例如 mysql-front 以及 ems mysql manager,?navicat等等。
以上內(nèi)容參考:百度百科-mySQL
很明顯你是用mysql。那么當(dāng)mysql建立一個數(shù)據(jù)表時候。就會生成3個文件。。三個后綴面分別為frm是存儲數(shù)據(jù)表的框架結(jié)構(gòu)
.myd是MyISAM表的數(shù)據(jù)文件的擴展名
.myi是MyISAM表的索引的擴展名
找到MYSQL的安裝目錄,在安裝目錄下DATA文件夾下的MYSQL文件夾中存放的就是MYSQL數(shù)據(jù)庫表默認(rèn)的.frm格式文件表。如果要其他格式可以試試NAVICAT軟件吧,它是管理mysql的客戶端,它包含多種可以轉(zhuǎn)換的數(shù)據(jù)庫格式