新聞中心
無(wú)憂主機(jī)原創(chuàng):非常規(guī)手段解決Discuz X2遷移導(dǎo)致MYSQL數(shù)據(jù)庫(kù)中文表亂碼的途徑
起因: 三天前,我公司客戶使用香港獨(dú)立IP空間,從一個(gè)windows環(huán)境下的php虛擬主機(jī)下遷移discuz X2站點(diǎn)。遷移中發(fā)現(xiàn)恢復(fù)的mysql數(shù)據(jù)庫(kù)表中所有中文亂碼顯示,影響遷移結(jié)果。且原始空間上的原始數(shù)據(jù)也是亂碼,但是前臺(tái)網(wǎng)頁(yè)顯示正常。起mysql數(shù)據(jù)庫(kù)版本為:mysql 4.X。遷移要從mysql數(shù)據(jù)庫(kù)4.X版本向mysql5.X版本遷移??蛻魺o(wú)任何歷史網(wǎng)站數(shù)據(jù)備份(DX后臺(tái)的備份也沒有),原始空間已經(jīng)刪除了客戶的空間,只有原始空間商提供的mysql數(shù)據(jù)庫(kù)源文件和discuz X2網(wǎng)頁(yè)文件。 我的感概: 我很難想象,到現(xiàn)在居然還有mysql4.X版本的php空間存在。也很驚訝DX2居然在這樣的環(huán)境下安裝并運(yùn)行了半年時(shí)間之久。也很驚訝,為什么用戶在部署的時(shí)候沒有發(fā)現(xiàn)數(shù)據(jù)庫(kù)中存儲(chǔ)中的內(nèi)容是亂碼?原始空間商告訴他,你現(xiàn)在的中文亂碼情況、需要你進(jìn)行轉(zhuǎn)碼導(dǎo)入,或者安裝一個(gè)mysql4.x版本,將數(shù)據(jù)庫(kù)源文件導(dǎo)入,然后再導(dǎo)出正常備份文件,最后再導(dǎo)入到mysql5.x中。 由于原始空間商已經(jīng)刪掉了用戶的空間,但mysql數(shù)據(jù)庫(kù)沒有刪除,協(xié)商下給了mysql數(shù)據(jù)庫(kù)遠(yuǎn)程方式地址和信息。 用戶發(fā)了2天時(shí)間解決這個(gè)mysql數(shù)據(jù)庫(kù)亂碼問(wèn)題,我也不斷與客戶溝通,從中協(xié)助,利用休息時(shí)間也來(lái)幫助客戶完成這個(gè)工作。我們努力將mysql 4.x數(shù)據(jù)庫(kù)向mysql5.x遷移,并解決mysql數(shù)據(jù)庫(kù)中文亂碼問(wèn)題。很遺憾,能力有限,我失敗了。 事后諸葛亮: 我今天突然想到一個(gè)方案,搶救myql數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)。 用戶手上有原站點(diǎn)的dx網(wǎng)站的網(wǎng)頁(yè)備份數(shù)據(jù),原始空間提供了mysql數(shù)據(jù)庫(kù)的遠(yuǎn)程訪問(wèn)地址。那么我的方案如下: 1、? 把dx站點(diǎn)的網(wǎng)頁(yè)數(shù)據(jù)完整的上傳到無(wú)憂主機(jī)(www.gle-technology.com)空間的站點(diǎn)根目錄——public_html。 2、? 然后將域名解析到無(wú)憂空間服務(wù)器上。 3、? 原始空間開放了mysql數(shù)據(jù)庫(kù)的遠(yuǎn)程登錄方式、用戶網(wǎng)站停止前是正常運(yùn)行的、phpmyadmin雖然顯示是亂碼,臨時(shí)我們可以不去關(guān)注它。基于上面三個(gè)條件,那么用戶的dx網(wǎng)站就是這樣方式部署的: Dx的網(wǎng)頁(yè)程序運(yùn)行在無(wú)憂主機(jī)(www.gle-technology.com)的環(huán)境中,而mysql數(shù)據(jù)庫(kù)遠(yuǎn)程調(diào)用原始空間商提供的數(shù)據(jù)庫(kù)。 這樣的方式部署是可行的,只要域名解析生效,網(wǎng)站就可以正常打開。此時(shí)登錄dx2管理員后臺(tái),使用康盛提供的mysql數(shù)據(jù)庫(kù)備份工具進(jìn)行全站備份。備份完畢后。接下來(lái)按下面步驟操作: 4、? 在無(wú)憂主機(jī)虛擬主機(jī)環(huán)境下的站點(diǎn)根目錄下(public_html)新建二級(jí)目錄—— bakweb,將所有文件移動(dòng)到bakweb目錄中。 5、? 上傳dx2.0安裝包(和原站點(diǎn)版本保持一致),然后全新安裝discuz!X2。 6、? 將原始站點(diǎn)用dx2備份數(shù)據(jù),移動(dòng)到新安裝的dx版本中進(jìn)行恢復(fù)。無(wú)論好壞,你都可以拿到一份完整的mysql數(shù)據(jù),我相信康盛后臺(tái)自帶的數(shù)據(jù)庫(kù)備份、恢復(fù)工具,可以為我們帶來(lái)一份正常、且完整的網(wǎng)站數(shù)據(jù)庫(kù)。 今天晚上,我興奮的將我的方案告訴用戶時(shí),很遺憾。用戶已經(jīng)放棄原始數(shù)據(jù),已經(jīng)全新的把網(wǎng)站部署好了。 上述方案,我個(gè)人認(rèn)為可行性是非常高的,成功率保守估計(jì)在90%以上。如果你也在為mysql數(shù)據(jù)庫(kù)亂碼問(wèn)題苦惱的時(shí)候,不妨換個(gè)思路,用我這個(gè)思路去嘗試解決。 本文章中介紹解決mysql數(shù)據(jù)庫(kù)亂碼的方案,未經(jīng)過(guò)實(shí)踐證明。如有采納的站長(zhǎng),請(qǐng)來(lái)個(gè)郵件340555017@qq.com告知一下,不甚感激。本文僅此紀(jì)念這個(gè)想法,我給它取了一個(gè)名字:亂七八糟非常規(guī)手段解決mysql數(shù)據(jù)庫(kù)中文亂碼的途徑。 感謝閱讀本文,感謝使用無(wú)憂香港系列php空間。 純Linux環(huán)境下高端免備案[香港獨(dú)立IP地址]?php空間,僅僅只需199元一年起。商務(wù)中國(guó)域名核心代理直銷50元注冊(cè)國(guó)際頂級(jí)域名。
本文地址:http://www.gle-technology.com/mysql/4013.html