MySql經過數據庫文件恢復數據庫

以表」Table」爲例:mysql

如類型是MyISAM, 數據文件則以」Table.frm」」Table.MYD」」Table.MYI」」三個文件存儲於」/data/$databasename/」目錄中.sql

如類型是InnoDB, 數據文件則存儲在」$innodb_data_home_dir/″中的ibdata1文件中(通常狀況),結構文件存在於table_name.frm中.數據庫

MySQL的數據庫文件直接複製即可以使用,可是那是指「MyISAM」類型的表。spa

而使用MySQL-Front直接建立表,默認是「InnoDB」類型,這種類型的一個表在磁盤上只對應一個「*.frm」文件,不像MyISAM那樣還「*.MYD,*.MYI」文件。innodb

MyISAM類型的表直接拷到另外一個數據庫就能夠直接使用,可是InnoDB類型的表卻不行。解決方法就是:table

 

同時拷貝innodb數據庫表「*.frm」文件和innodb數據「ibdata1」文件到合適的位置。啓動MySQL的Windows服務file

因爲MySQL這樣數據混雜的形式, 每每很容易讓使用者在備份時忘記了備份InnoDB, 從而致使了上述錯誤. 方法

意思就是說在數據庫引擎類型爲InnoDB時,拷貝數據文件的同時還須要拷貝ibdata1,因而把ibdata1也拷貝過去覆蓋,發現仍是有點問題,因而中止mysql服務,將目錄下的ib_logfile*文件所有刪除掉,從新啓動mysql服務,well done,能夠了

數據

相關文章
相關標籤/搜索