MySql資料庫檔案frm的移植

2022-04-04 20:15:28 字數 647 閱讀 5202

今天在實際開發中對於mysql資料庫進行移植發生的問題來說下. 開始把本地data中的資料庫檔案拷貝到另一台機子上test, 執行show tables ; 可以看到資料庫表,但是對錶進行任何操作都報錯: 表不存在 , 原以為mysql的資料庫檔案(.frm)copy->stick到本地安裝mysqldb目錄的data資料夾下就可以.事實不是我們想的那樣. 對於mysql資料庫的移植,我們能看到的只是它生成的表結構 以就是說以 .frm為字尾名的檔案.

實際上, .frm .myd .myi都是mysql儲存資料的檔案, 代表mysql資料庫表的結構/資料和索引檔案 ,我們預設建立資料庫和表時只生成資料庫表結構的檔案.frm. 移植資料庫時,必須存在三種格式的資料庫表檔案,才能正常使用該db, 當我們在本地建立出資料庫還有該資料庫域下的表時, 在data資料夾下只存在資料庫的字符集描述檔案和資料庫表結構檔案,若需要移植資料庫, 應該在 該資料庫域下, 已就是說 use targetdatabase; 後執行以下語句生成其他兩種格式的資料儲存檔案,

alter table targettablename engine = myisam row_format = compact;

對每個表都執行以上語句後, 在看看data檔案下的資料庫表,其他兩種格式都生成出來了.然後在移植, 就不會存在文章開始說的資料庫表不存在的錯誤.

MySQL資料庫檔案

mysql的每個資料庫都對應存放在乙個與資料庫同名的資料夾中,mysql資料庫檔案包括mysql所建資料庫檔案和mysql所用儲存引擎建立的資料庫檔案。1 mysql建立並管理的資料庫檔案 frm檔案 儲存資料表的框架結構,mysql資料庫檔名與表名相同,每個表對應乙個同名frm檔案,與作業系統和儲...

MySql資料庫恢復 frm 檔案

在使用虛擬伺服器時,伺服器提供商一般不會像我們使用本地資料庫一樣 使用匯入匯出 這樣的檔案字尾是 sql 大部分時候提供的是乙個資料夾,裡面包括 資料庫名資料夾,資料夾裡包括,frm,myi,myd,並且包含乙個db.opt檔案。分別介紹一下 frm 描述了表的結構 myi 表的索引 myd 儲存了...

資料庫檔案

if exists select from mater.sysdatabases where name db 09zy drop database db 09zy go create database zy on primary name zy data filename e 09.9zy1 zy ...