湖北昊騰科技

            標(biāo)題: 如何恢復(fù)Mysql數(shù)據(jù)庫的詳細(xì)介紹 [打印本頁]

            作者: 嘀嘀叭叭    時(shí)間: 2016-5-15 11:47
            標(biāo)題: 如何恢復(fù)Mysql數(shù)據(jù)庫的詳細(xì)介紹
            由于在一臺(tái)測(cè)試機(jī)器上打算重新安裝Mysql數(shù)據(jù)庫,由于簡(jiǎn)單粗暴的直接卸載了,沒有備份公司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ù)目錄中,重新啟動(dòng)mysql, 就能看到恢復(fù)的數(shù)據(jù)庫了
            2. Redmine數(shù)據(jù)庫
            本打算直接使用上面的經(jīng)驗(yàn),也能看到所有的表,但是就是執(zhí)行查詢的時(shí)候,總是報(bào)錯(cuò)"表不存在".
            后來查了一些資料,發(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””三個(gè)文件存儲(chǔ)于”/data/$databasename/”目錄中. 如類型是InnoDB, 數(shù)據(jù)文件則存儲(chǔ)在”$innodb_data_home_dir/″中的ibdata1文件中(一般情況),結(jié)構(gòu)文件存在于table_name.frm中. MySQL的數(shù)據(jù)庫文件直接復(fù)制便可以使用,但是那是指“MyISAM”類型的表。 而使用MySQL-Front直接創(chuàng)建表,默認(rèn)是“InnoDB”類型,這種類型的一個(gè)表在磁盤上只對(duì)應(yīng)一個(gè)“*.frm”文件,不像MyISAM那樣還“*.MYD,*.MYI”文件。 MyISAM類型的表直接拷到另一個(gè)數(shù)據(jù)庫就可以直接使用,但是InnoDB類型的表卻不行。解決方法就是:
            同時(shí)拷貝innodb數(shù)據(jù)庫表“*.frm”文件和innodb數(shù)據(jù)“ibdata1”文件到合適的位置。啟動(dòng)MySQL的Windows服務(wù) 由于MySQL這樣數(shù)據(jù)混雜的形式, 往往很容易讓使用者在備份時(shí)忘記了備份InnoDB, 從而導(dǎo)致了上述錯(cuò)誤.
            意思就是說在數(shù)據(jù)庫引擎類型為InnoDB時(shí),拷貝數(shù)據(jù)文件的同時(shí)還需要拷貝ibdata1,于是把ibdata1也拷貝過去覆蓋,發(fā)現(xiàn)還是有點(diǎn)問題,于是停止mysql服務(wù),將目錄下的ib_logfile*文件全部刪除掉,重新啟動(dòng)mysql服務(wù),well done,可以了
            高興啊,于是稍微總結(jié)了,希望以后遇到相同的問題,能夠快速解決。
            1,在進(jìn)行mysql數(shù)據(jù)庫備份的或遷移的時(shí)候,盡量備份完成所需要的數(shù)據(jù);
            2,如果直接拷貝原有數(shù)據(jù)庫文件"*.frm"、"*.MYD"、"*.MYI"等文件時(shí)候,如果原數(shù)據(jù)庫引擎是InnoDB,切記還需拷貝ibdata1文件
            3,備份數(shù)據(jù)庫的時(shí)候,最好是用相關(guān)的工具進(jìn)行備份或是導(dǎo)出sql文件,以免浪費(fèi)時(shí)間在數(shù)據(jù)庫恢復(fù)上
            4,msyql版本或是備份工具的版本不同,也可能引起數(shù)據(jù)恢復(fù)有問題。
            實(shí)踐證明以上問題是存在的,解決方案是可行的,哈哈,為了以后方便,寫了這篇博客隨筆,希望大牛看到了不要鄙視,歡迎拍磚。
            1:MyISAM類型的數(shù)據(jù)文件可以在不同操作系統(tǒng)中COPY,這點(diǎn)很重要,布署的時(shí)候方便點(diǎn)。(只需要拷貝 數(shù)據(jù)庫名字文件夾下面的文件,這樣數(shù)據(jù)庫就拷貝完了)
            2:  InnoDB類型的 要注意多拷貝 ibdata1 , 最好不要是直接復(fù)制文件夾,而是應(yīng)該用sql導(dǎo)入導(dǎo)出






            歡迎光臨 湖北昊騰科技 (http://m.shyzjz.com/) Powered by Discuz! X3.3
            亚洲精品乱码久久久久久不卡| 亚洲色无码国产精品网站可下载| 亚洲偷自拍另类图片二区| 久久精品7亚洲午夜a| 亚洲精品456播放| 国产精品亚洲专一区二区三区| 亚洲色欲啪啪久久WWW综合网| 国产亚洲精品bv在线观看| 亚洲人成免费电影| 亚洲午夜久久久精品电影院| 亚洲成人免费网站| 亚洲人成黄网在线观看| 亚洲人成日本在线观看| 亚洲国产成人精品无码区在线秒播 | 亚洲精品国产精品乱码不卞| 国产亚洲福利精品一区二区| 久久亚洲AV成人无码国产电影 | 97久久国产亚洲精品超碰热| 亚洲手机中文字幕| 亚洲人成片在线观看| 精品久久亚洲中文无码| 亚洲综合久久一本伊伊区| 2020天堂在线亚洲精品专区| 亚洲天堂2017无码中文| 亚洲熟妇AV一区二区三区浪潮 | 激情五月亚洲色图| 亚洲香蕉久久一区二区三区四区| 亚洲国产中文在线二区三区免| 亚洲第一精品电影网| 91亚洲性爱在线视频| 91亚洲性爱在线视频| 亚洲另类精品xxxx人妖| 亚洲videosbestsex日本| 亚洲色大成网站www| 久久久久久亚洲精品无码| 国产精品久久久久久亚洲小说| 亚洲av无码成人精品区| 久久精品亚洲男人的天堂| 国产精品亚洲片在线| 亚洲一区二区在线免费观看| 亚洲成人黄色在线观看|