久久精品国产亚洲怮怮_奇米网777色在线精品_亚洲色中文字幕制服丝袜_久久精品人人做人人看

始創(chuàng)于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
  • 掛牌上市企業(yè)
  • 60秒人工響應(yīng)
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補(bǔ)償
全部產(chǎn)品
您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

MySQL恢復(fù)和UTF文件BOM標(biāo)志讀取問(wèn)題

發(fā)布時(shí)間:  2012/8/24 17:28:18

前天,客戶來(lái)電說(shuō)GPS巡線系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)掛了,原因是原來(lái)分配給圖片存儲(chǔ)磁盤(pán)的空間不夠了,他調(diào)整了一下分區(qū)。我讓他把整個(gè)MySQL目錄的文件備份下來(lái)(后來(lái)發(fā)現(xiàn)這是多么重要),然后重裝一下數(shù)據(jù)庫(kù)試試。重裝以后發(fā)現(xiàn)不行。于是給我讓他發(fā)了MySQL下面的data目錄文件給我,還有今年二月份用后臺(tái)軟件備份下來(lái)的數(shù)據(jù)備份也發(fā)了過(guò)來(lái)。

網(wǎng)上查詢發(fā)現(xiàn)MySQL的數(shù)據(jù)存儲(chǔ)在data目錄下的ibdata1文件中,使用UE打開(kāi)該文件,發(fā)現(xiàn)全是0,顯然不能包含數(shù)據(jù),對(duì)比公司內(nèi)部測(cè)試使用的MySQL服務(wù)器,確認(rèn)該文件用于存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)?磥(lái)只能是使用二月份的備份數(shù)據(jù)了。
-
 

打開(kāi)二月份備份數(shù)據(jù),發(fā)現(xiàn)數(shù)據(jù)庫(kù)的字符集用的是binary,這是當(dāng)時(shí)不太清楚字符集該怎么設(shè),從別人那里繼承來(lái)的。試圖重裝一個(gè)MySQL,設(shè)定為binary,恢復(fù)還是有錯(cuò)誤。在MySQL命令行中手動(dòng)執(zhí)行恢復(fù)操作,提示是數(shù)據(jù)庫(kù)字段寬度不夠,手動(dòng)調(diào)整數(shù)據(jù)庫(kù)字段大小,成功走完恢復(fù)過(guò)程,但是恢復(fù)出來(lái)的數(shù)據(jù)顯示是亂碼。

用UE打開(kāi)備份文件,發(fā)現(xiàn)前面是FEFF,UTF的編碼標(biāo)記,后面是有規(guī)律的一個(gè)字節(jié)數(shù)據(jù),一個(gè)字節(jié)的零,手動(dòng)提取字節(jié)數(shù)據(jù),恢復(fù)出來(lái)時(shí)可讀的,于是想利用程序提取出來(lái)非零數(shù)據(jù),然后恢復(fù)。結(jié)果,發(fā)現(xiàn)程序死活不能讀到標(biāo)記字節(jié)FEFF。想可能VC2008+Win7可能自動(dòng)給你處理了FEFF,于是上VMWare+DOS622+TC2,結(jié)果還是一樣,查到網(wǎng)上有一篇文章How NOT to skip BOM info (FF FE) when using fread or ifstream? 這個(gè)現(xiàn)象一摸一樣。就是沒(méi)有解答。

早晨又想到一個(gè)方法,利用文件傳輸,這下該啥碼都出來(lái)了吧,于是上串口互聯(lián),一個(gè)串口打開(kāi)串口調(diào)試軟件,另一個(gè)串口copy,發(fā)現(xiàn)接收出來(lái)數(shù)據(jù)不對(duì),MODE命令設(shè)之,發(fā)現(xiàn)收到的數(shù)據(jù)和UE的還是不一樣啊。www.linuxidc.com對(duì)比利用EMEditor二進(jìn)制打開(kāi)的文件,卻發(fā)現(xiàn)串口接收的和EMEditor的一樣。對(duì)比EMEditor的字節(jié)數(shù)和文件屬性字節(jié)數(shù),一致。驗(yàn)證C程序,一致。用EMEditor給文件加上UTF編碼標(biāo)記,C程序讀取,可以讀取到BOM數(shù)據(jù)。最后驗(yàn)證UE中間做了手腳,天啊。哎,太相信UE了。

MySQL最終恢復(fù)卻都沒(méi)用到這些,呵呵。今天客戶又打電話過(guò)來(lái),問(wèn)我怎么樣了,我交流以后發(fā)現(xiàn),他還是按我說(shuō)的備份了全部的MySQL安裝目錄,還有,他提到其他盤(pán)有一個(gè)ibdata1文件,時(shí)間太長(zhǎng)了,我都忘了,應(yīng)該是當(dāng)時(shí)我為了數(shù)據(jù)安全,安裝的時(shí)候?qū)?shù)據(jù)文件放到別的分區(qū)中了。這下好了,分析客戶發(fā)過(guò)來(lái)的全部資料,清楚了原來(lái)安裝MySQL的原始結(jié)構(gòu),并且發(fā)現(xiàn)原來(lái)的MySQL配置文件的MySQL自動(dòng)備份存在MySQL目錄中。于是就超級(jí)簡(jiǎn)單了。停止MySQL服務(wù),移掉MySQL相關(guān)目錄,解壓客戶發(fā)過(guò)來(lái)的數(shù)據(jù)到MySQL安裝目錄中,修改配置文件,在相應(yīng)的路徑中放置ibdata1,重啟服務(wù),OK,一切正常。

想想,Linux系的軟件還是好啊,恢復(fù)起來(lái)趕緊利落。


本文出自:億恩科技【prubsntakaful.com】

服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      0
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線