激情五月天婷婷,亚洲愉拍一区二区三区,日韩视频一区,a√天堂中文官网8

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

        MySQL恢復和UTF文件BOM標志讀取問題

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

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

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

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

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

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

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

        想想,Linux系的軟件還是好啊,恢復起來趕緊利落。


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

        服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

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

        0371-60135900
        7*24小時客服服務熱線