1. 程式人生 > >mysql 直接從date 資料夾備份表,還原資料庫之後提示 table doesn`t exist的原因和解決方法

mysql 直接從date 資料夾備份表,還原資料庫之後提示 table doesn`t exist的原因和解決方法

如型別是MyISAM, 資料檔案則以”Table.frm””Table.MYD””Table.MYI””三個檔案儲存於”/data/$databasename/”目錄中.
如型別是InnoDB, 資料檔案則儲存在”$innodb_data_home_dir/″中的ibdata1檔案中(一般情況),結構檔案存在於table_name.frm中.
MySQL的資料庫檔案直接複製便可以使用,但是那是指“MyISAM”型別的表。
而使用MySQL-Front直接建立表,預設是“InnoDB”型別,這種型別的一個表在磁碟上只對應一個“*.frm”檔案,不像MyISAM那樣還“*.MYD,*.MYI”檔案。

MyISAM型別的表直接拷到另一個數據庫就可以直接使用,但是InnoDB型別的表卻不行。解決方法就是:

同時拷貝innodb資料庫表“*.frm”檔案和innodb資料“ibdata1”檔案到合適的位置。啟動MySQL的Windows服務
由於MySQL這樣資料混雜的形式, 往往很容易讓使用者在備份時忘記了備份InnoDB, 從而導致了上述錯誤.

意思就是說在資料庫引擎型別InnoDB時拷貝資料檔案的同時還需要拷貝ibdata1,於是把ibdata1也拷貝過去覆蓋,發現還是有點問題,於是停止mysql服務,將目錄下的ib_logfile*檔案全部刪除掉,重新啟動mysql服務,well done,可以了

高興啊,於是稍微總結了,希望以後遇到相同的問題,能夠快速解決。

1,在進行mysql資料庫備份的或遷移的時候,儘量備份完成所需要的資料;

2,如果直接拷貝原有資料庫檔案"*.frm"、"*.MYD"、"*.MYI"等檔案時候,如果原資料庫引擎是InnoDB,切記還需拷貝ibdata1檔案

3,備份資料庫的時候,最好是用相關的工具進行備份或是匯出sql檔案,以免浪費時間在資料庫恢復上

4,msyql版本或是備份工具的版本不同,也可能引起資料恢復有問題。

實踐證明以上問題是存在的,解決方案是可行的,哈哈,為了以後方便,寫了這篇部落格隨筆,希望大牛看到了不要鄙視,歡迎拍磚。

1:MyISAM型別的資料檔案可以在不同作業系統中COPY,這點很重要,佈署的時候方便點。(只需要拷貝 資料庫名字資料夾下面的檔案,這樣資料庫就拷貝完了)

2:  InnoDB型別的 要注意多拷貝 ibdata1 , 最好不要是直接複製資料夾,而是應該用sql匯入匯出

相關推薦

mysql 直接date 資料備份還原資料庫之後提示 table doesn`t exist原因解決方法

如型別是MyISAM, 資料檔案則以”Table.frm””Table.MYD””Table.MYI””三個檔案儲存於”/data/$databasename/”目錄中.如型別是InnoDB, 資料檔案則儲存在”$innodb_data_home_dir/″中的ibdat

資料庫備份 Mysql table '' doesn`t exist .(mysql資料庫複製遷移時除了複製資料外還要複製data目錄下的ibdata1檔案)

今天在整理一個網站的時候,作業系統由於系統自動更新導致一直出現系統藍屏宕機,唉,悲劇了,於是重新安裝了系統 windows server 2008 enterprise 32bit。 詳情:       系統安裝完成後,重新配置之前那個網站,appache服務配好之後,

總結-Mysql資料庫原因解決方法

鎖表的原因: 當多個連線(資料庫連線)同時對一個表的資料進行更新操作,那麼速度將會越來越慢,持續一段時間後將出現資料表被鎖的現象,從而影響到其它的查詢及更新。   例如: 儲存過程迴圈30次更新操作(cycore_file_id 為唯一標識) /*30

mysql 提示不存在的解決方法error: 1146: Table doesn't exist

直接拷貝資料庫導致提示表不存在的解決方法 電腦重灌系統後把原來的mysql data複製進去後大部分表是可以訪問的,但是有幾個表提示表不存在: error: 1146: Table 'a_content' doesn't exist這種情況就是要把原來mysql安裝目錄data裡的 ibdata1 也要拷

資料庫資料更新,不同不同資料庫的更新方式

1:同一個資料庫更新: 表A的資料column1 更新表B 的資料 column1 的方法update 表Bset column1 =a.column1 from 表A a,表 bwhere a.關聯=b.關聯2:不同資料庫之間更新: 資料庫A,中的表A的column1  更

MySQL的Illegal mix of collationsy異常原因解決方法

ear 代碼 clear 今天 tag 類型 資料 bsp net 原創 2008年12月25日 11:54:00 標簽: mysql / collation / character / variables / database / server 今天

娃系列】java面試基礎知識儲備(¥2)——JVM記憶體劃分記憶體溢位異常的原因解決方法

JVM記憶體劃分和記憶體溢位 JVM記憶體劃分 記憶體溢位的異常和解決辦法 JVM記憶體劃分 堆:存放物件例項,被所有的執行緒共享的一塊區域。垃圾收集器管理的主要區域。 方法區:儲存虛擬機器載入的類資訊,常量,靜態變

MySQL CPU 使用率高的原因解決方法(來自aliyun官方文件)

  使用者在使用 MySQL 例項時,會遇到 CPU 使用率過高甚至達到 100% 的情況。本文將介紹造成該狀況的常見原因以及解決方法,並通過 CPU 使用率為 100% 的典型場景,來分析引起該狀況的原因及其相應的解決方案。 常見原因 系統執行應用提交查詢(包括資料修改操

PHP網站Apache轉移到Nginx後只能訪問主頁跳轉產生404錯誤的原因解決辦法

用tp框架在本地開發了專案時,用的是phpstudy繼承環境,起初用的是apache伺服器,但是切換到nginx環境時只有主頁能訪問,其他都會報nginx404的錯誤 當時也挺納悶的,經分析得出原因:原網站環境為wamp使用了偽靜態,偽靜態規則寫在網站根目錄的.htacces

Hive之資料傾斜的原因解決方法

資料傾斜 在做Shuffle階段的優化過程中,遇到了資料傾斜的問題,造成了對一些情況下優化效果不明顯。主要是因為在Job完成後的所得到的Counters是整個Job的總和,優化是基於這些Counters得出的平均值,而由於資料傾斜的原因造成map處理資料量的差異過大,使得這些

"ORA-00942: 或檢視不存在 "的原因解決方法(非常好)

執行上面的sql時提示"ORA-00942 表或檢視不存在",納悶了,用select * from AUTH.AUTH_ORG_FRAM語句查詢時可以查到資料,但建立檢視時就提示找不到, 原來是,我

mysql安裝不上怎麼辦 mysql安裝失敗原因解決方法

困難1:MySQL 5.1 安裝過程中報apply security setting錯誤 1.解除安裝MySQL。 2.刪除目錄 C:\Documents and Settings\All Users\Application Data\MySQL。 3.重新安裝MySQL就OK啦。 困難2:MySQL提示C

錯誤 —— MySQL Table doesn't exist

MySQL 安裝目錄的data 資料夾中儲存了資料庫結構(對應資料庫名的資料夾)與資料資訊(對應ibfilelog0、ibfilelog1、idata1三個檔案)。 僅刪除ibfilelog0、ibfilelog1、idata1或僅複製資料庫目錄到新的MySQL 安裝目錄的

java中Date date = new Date();不能使用Date()不能寫無參的原因解決方法

如果遇到這種情況,其實原因很簡單,如果你是想獲取當前時間使用,報錯的原因是包引的import java.sql.Date; 只需要換成 import java.util.Date; 即可 通過Date類來獲取當前時間 : Date date = new Da

mysql sql語句 create table時 報錯table doesn't exist

用sql還原一個年代久遠的專案時候發現create table執行時報表不存在。。(這不廢話,不存在我才要create啊)刪了庫重來還是報錯, 對於這個神奇的現象百之,無。谷之,中文網頁無。英文找到了,方法是先新建一個空表,然後刪除,再然後就可以用sql建立其他內容的表了

ORA-00942: 或檢視不存在 "的原因解決方法

採用Oracle資料庫,使用Powerdesigner設計,生成Sql檔案匯入後查詢出現“ORA-00942: 表或檢視不存在 ”,很是鬱悶,這個問題以前出現過,當初解決了,但因好久沒有使用,這次竟然忘了,害得我浪費了好些時間,為了避免再次忘記,將它記下來,同時和大家一起

"ORA-00942: 或檢視不存在 "的原因解決方法

採用Oracle資料庫,使用Powerdesigner設計,生成Sql檔案匯入後查詢出現“ORA-00942: 表或檢視不存在 ”,很是鬱悶,這個問題以前出現過,當初解決了,但因好久沒有使用,這次竟然忘了,害得我浪費了好些時間,為了避免再次忘記,將它記下來,同時和大家一起分享

c 判斷檔案或資料是否存在多種方法, 為什麼一開始就不直接來個統一的呢?

具體內容,請看: https://blog.csdn.net/u012494876/article/details/51204615   判斷檔案或資料夾是否存在,竟然有這麼多方法: GetFileAttributes() CreateFile() _access() Find

基於MYSQL事件的按月備份滾動保留6次備份

數據 gin command 操作 margin 技術分享 man lob rda 要求: 每月1日0點:在不影響業務的情況下,備份整月的數據,保留6次備份。 思路: 基於MYSQL事件功能,每月按時完成操作 RENAME語句具有原子性,新舊表無縫切換 R

Python3將一個資料備份到一個 ZIP 檔案

題目:將一個資料夾備份到一個 ZIP 檔案 假定你正在做一個專案,它的檔案儲存在 C:\AlsPythonBook 資料夾中。你擔心工作 會丟失,所以希望為整個資料夾建立一個 ZIP 檔案,作為“快照