国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

如何恢復(fù)Mysql數(shù)據(jù)庫的詳細(xì)介紹

2024-07-24 12:47:55
字體:
供稿:網(wǎng)友

由于在一臺測試機(jī)器上打算重新安裝Mysql數(shù)據(jù)庫,由于簡單粗暴的直接卸載了,沒有備份公司Discuz和Redmine使用的Mysql數(shù)據(jù)庫,過程可想的悲慘。

還好的是只是卸載掉了Mysql的程序,所有的數(shù)據(jù)文件還是存在的。

下面是在恢復(fù)數(shù)據(jù)庫的過程

1. Discuz數(shù)據(jù)庫

Discuz數(shù)據(jù)庫的恢復(fù)非常順利, 在安裝好新版本的Mysql后,直接將原來的數(shù)據(jù)庫文件copy到新的數(shù)據(jù)目錄中,重新啟動mysql, 就能看到恢復(fù)的數(shù)據(jù)庫了

2. Redmine數(shù)據(jù)庫

本打算直接使用上面的經(jīng)驗,也能看到所有的表,但是就是執(zhí)行查詢的時候,總是報錯"表不存在".

后來查了一些資料,發(fā)現(xiàn),原因應(yīng)該是Discuz和Redmine使用的Mysql引擎不一樣導(dǎo)致的。

Discuz使用的是MyISAM, 而Redmine使用的是InnoDB.

解決的辦法是,

除了要copy數(shù)據(jù)目錄外,還要記得覆蓋ibdata1文件。

以表”Table”為例: 如類型是MyISAM, 數(shù)據(jù)文件則以”Table.frm””Table.MYD””Table.MYI””三個文件存儲于”/data/$databasename/”目錄中. 如類型是InnoDB, 數(shù)據(jù)文件則存儲在”$innodb_data_home_dir/″中的ibdata1文件中(一般情況),結(jié)構(gòu)文件存在于table_name.frm中. MySQL的數(shù)據(jù)庫文件直接復(fù)制便可以使用,但是那是指“MyISAM”類型的表。 而使用MySQL-Front直接創(chuàng)建表,默認(rèn)是“InnoDB”類型,這種類型的一個表在磁盤上只對應(yīng)一個“*.frm”文件,不像MyISAM那樣還“*.MYD,*.MYI”文件。 MyISAM類型的表直接拷到另一個數(shù)據(jù)庫就可以直接使用,但是InnoDB類型的表卻不行。解決方法就是:

同時拷貝innodb數(shù)據(jù)庫表“*.frm”文件和innodb數(shù)據(jù)“ibdata1”文件到合適的位置。啟動MySQL的Windows服務(wù) 由于MySQL這樣數(shù)據(jù)混雜的形式, 往往很容易讓使用者在備份時忘記了備份InnoDB, 從而導(dǎo)致了上述錯誤.

意思就是說在數(shù)據(jù)庫引擎類型為InnoDB時,拷貝數(shù)據(jù)文件的同時還需要拷貝ibdata1,于是把ibdata1也拷貝過去覆蓋,發(fā)現(xiàn)還是有點問題,于是停止mysql服務(wù),將目錄下的ib_logfile*文件全部刪除掉,重新啟動mysql服務(wù),well done,可以了

高興啊,于是稍微總結(jié)了,希望以后遇到相同的問題,能夠快速解決。

1,在進(jìn)行mysql數(shù)據(jù)庫備份的或遷移的時候,盡量備份完成所需要的數(shù)據(jù);

2,如果直接拷貝原有數(shù)據(jù)庫文件"*.frm"、"*.MYD"、"*.MYI"等文件時候,如果原數(shù)據(jù)庫引擎是InnoDB,切記還需拷貝ibdata1文件

3,備份數(shù)據(jù)庫的時候,最好是用相關(guān)的工具進(jìn)行備份或是導(dǎo)出sql文件,以免浪費時間在數(shù)據(jù)庫恢復(fù)上

4,msyql版本或是備份工具的版本不同,也可能引起數(shù)據(jù)恢復(fù)有問題。

實踐證明以上問題是存在的,解決方案是可行的,哈哈,為了以后方便,寫了這篇博客隨筆,希望大??吹搅瞬灰梢?,歡迎拍磚。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 河池市| 竹北市| 赤水市| 治多县| 铜陵市| 乐都县| 静宁县| 信丰县| 卢氏县| 芦山县| 札达县| 灵山县| 金昌市| 开平市| 利津县| 浙江省| 元氏县| 休宁县| 江津市| 阿拉善盟| 岢岚县| 西昌市| 东辽县| 德昌县| 林芝县| 景洪市| 昌黎县| 斗六市| 正镶白旗| 麟游县| 甘洛县| 天长市| 乐都县| 宁乡县| 招远市| 乳源| 本溪市| 静宁县| 沁源县| 高安市| 濉溪县|