「MySQL 4.0 輕鬆升級 5.0 實作筆記」‧當然 php 及 phpMyAdmin 還有 Zend Optimizer 也順便更新一下囉 ^^~

「MySQL 4.0 輕鬆升級 5.0 實作筆記」‧當然 php 及 phpMyAdmin 還有 Zend Optimizer 也順便更新一下囉 ^^~

不瞞您說‧敝人相當熟悉 MySQL 4.0.18 這個版本的「版本號」‧理由別無其它‧只因為死用此版本至今已有狠長的一段時間且沒去做軟體更新的動作 ^^|‧不過現今 MySQL 早已推出了 5.0 的版本‧而 php 4也預計在不久之後的將來寫入歷史‧所以跟舊版的 MySQL說聲「掰囉 :bye_tb:」則是件必定會發生的事

許多朋友們都知道‧MySQL 4.0 要升級到 5.0 的方法有狠多種‧但其中最重要的關鍵無非只有一個‧就是要將「 MySQL 4.0 的舊資料庫轉換成 UTF-8 滴編碼方式」

粗略的步驟即如下述

  • 備份 X:\mysql\data 目錄下所有資料夾及檔案 ( X 為MySQL目前安裝的磁碟機代號 )
  • 利用 phpMyAdmin 備份資料庫‧將資料庫內容匯出存成「123.sql」
  • 利用 UltraEdit 開啟「123.sql」‧此時直接將檔案另存新檔為「123_1.sql」如此便完成資料庫編碼轉UTF-8的動作
  • 移除 MySQL 4 與安裝 MySQL 5 並將方才完成UTF-8編碼轉換的資料庫檔案「123_1.sql」「載入」到「原名稱」的新資料庫內‧降就OK囉

從上述簡單的步驟中可以看出其實我們只要依序進行下列的工作重點‧即可完成 MySQL 資料庫軟體升級的動作

「備份舊資料庫」→「匯出舊資料庫」→「轉換舊資料庫編碼」→「移除與安裝MySQL」→「將完成UTF-8編碼轉換的資料載入至新資料庫中」

相信現在一些朋友們已經知道要將 MySQL 4.0 舊資料庫的編碼轉換成 UTF-8 的格式其實並不困難‧如果您不習慣使用 mysqldump 或其他文字命令的操作方式來轉換舊資料庫的編碼‧建議您參考 筆者個人「MySQL 4.0 輕鬆升級 5.0 實作筆記」‧如果有錯誤或需要補充的地方也歡迎大家不吝賜教並即時給予指正 ^^~

「MySQL 4.0 輕鬆升級 5.0 實作筆記 準備工具及軟體

「MySQL 4.0 輕鬆升級 5.0 實作筆記 執行步驟

  1. 首先我們將 X:\mysql\data 目錄下的所有資料夾及檔案做好備份‧以防萬一 ( X 為MySQL目前安裝的磁碟機代號 )
  2. 開啟 phpMyAdmin 的網頁資料庫管理介面‧將需要轉換資料編碼的 MySQL 資料庫分別「下載儲存」備份
    此處假設我們要備份的資料庫名稱為「123」‧可以直接用滑鼠點擊「123」→「輸出」就會出現類似上圖的phpMyAdmin「輸出」管理介面→把「下載儲存」打勾→點擊「執行」並把檔案存成「123.sql」
  3. 使用 UltraEdit 開啟「123.sql」‧此時會跳出「你要轉換X:\123.sql成DOS格式嗎?」的詢問視窗‧我們選擇「否」‧也因為 UltraEdit「另存新檔」的預設編碼格式即為「UTF-8」‧所以我們不需要對檔案做任何更動而直接將檔案「另存新檔」並且重新命名為「123_1.sql」‧此時已完成了「舊資料庫編碼方式轉換成 UTF-8 格式」的動作
  4. 移除早該消失的 MySQL 4.0‧舊版的 php 4 以及 Zend Optimizer 也一併移除
  5. 重新開機後安裝 MySQL 5.0php 5 以及 Zend Optimizer 3.3.0 也一併安裝‧php 5 的安裝方式可參考「輕鬆讓您的 IIS 6 支援 php 網頁」PHP 5 / ISAPI 解壓縮版安裝筆記
  6. 更新 phpMyAdmin‧別忘了修改 config.inc.php 內的個樣化設定
  7. 開啟 phpMyAdmin‧「MySQL連線校對」右側及「建立」按鈕左側的兩處空白欄位均選擇「utf8_unicode_ci」‧此時「建立」一筆名稱為「123」的資料庫‧如下圖所示

  8. 在「載入」完成編碼的資料「123_1.sql」之前‧先將「文字編碼檔案」選擇為「utf8」並且「部分載入」的核取方塊不要打勾而「SQL兼容模式」選擇「NONE」‧如下圖所示

    此時即可將「123_1.sql」「載入」到名稱為「123」的資料庫中

  9. 如果在資料「載入」的過程中沒有產生任何的錯誤訊息‧建議立即使用原 php 網頁測試‧若一切正常‧那麼您已經成功滴完成 MySQL資料庫編碼的轉換與軟體升級‧恭喜您大功告成囉 :clap_tb:

「MySQL 4.0 輕鬆升級 5.0 實作筆記 後記

相信多數的朋友們會在「載入」完成 UTF-8 編碼的資料庫時遇到一些問題‧諸如:

  1. 「載入」資料量過大‧會有 maxUpload 與 timeOut 的限制‧解決方式如下
    • 修改 phpMyAdmin 內的 config.inc.php‧將 ExecTimeLimit 的數值改為 0
    • $cfg['ExecTimeLimit'] = 0

    • 修改 php 的 php.ini‧將 max_execution_time 及 upload_max_filesize 的設定值更改為下列的數值
    • max_execution_time = -1
      upload_max_filesize = 0M

      修改完成後存檔‧重新啟動 ApacheIIS即可見效

  2. 「載入」資料內容因編碼方式改變而產生錯誤‧必須針對錯誤訊息除錯
    敝小站 Angel 3.Blue Station 是利用 WordPress架設的 Blog 站台‧日前在使用 MySQL 4.0.18期間曾有安裝「wp-useronline 2.10」版本的外掛程式‧也就是說「wp-useronline」這筆資料在匯出之後若不加以修改‧那載入到新資料庫的時候一定會產生問題‧解決方法並不難‧只要用 UltraEdit 開啟完成編碼轉換的 wordpress資料庫‧尋找下列文字

    `username` varchar(50) NOT NULL default ”

    • 將其數字 50 更改為 20 後存檔‧即可將資料順利載入到 MySQL 5.0的新資料庫中

    ( PS「wp-useronline 2.20」的版本已修正此問題 )

Leave a comment

Your comment