更新前,建議先將網站啟動[網站維護模式]並將資料庫與 moodledata 備份 (為失敗留一條後路)
將舊版 Moodle 目錄改名字(例如 moodleold, 暫時留者, 待更新完成即可清除) ---------------------- 資料庫 編碼更新----------------------- (1)建立一個新的資料庫(例如 moodlenew),連線校對為 utf8_general_ci 因為mysqldump dump 資料庫時, 有的版本會忽略了欄位中的 AUTO_INCREMENT 屬性 因此分兩部分 dump 資料庫 (2)Part I:dump 資料表結構-->可利用 phpMyAdmin 把moodleold 的所有資料表結構(不含資料)複製到 moodlenew, 完成後, 就有一個空的Moodle 資料庫(moodlenew),只有資料表結構 (3)Part II:dump 資料內容 mysqldump -u root -p --compatible=mysql40 --no-create-info > moodle.sql (4)將資料轉碼寫回新資料庫 mysql -u root -p --default-character-set=utf8 moodlenew <moodle.sql -------------------- 更新 Moodle 主程式 --------------------- (5)下載 Moodle 1.6.x 版, 並解壓縮於目錄(例如 目錄 moodle) (6)將舊版 Moodle 目錄中的 config.php 複製到 新版目錄中, 複製或更新您額外安裝的佈景、模組與區塊 (得注意版本相容性) (7)修改 config.php --->修改指向新資料庫 $CFG->dbname = 'moodlenew'; --->增加 $CFG->unicodedb = true; --->如果想啟用中文檔名再增加 $CFG->unicodecleanfilename = true; ----------------------- 執行Moodle 更新---------------------- (8)登入 Moodle 後, 系統會開始執行更新程序 更新過程中可能會遇到部分資料表建立時發生錯誤,視情況,依錯誤訊息修正資料庫吧 目前我遇到的問題是 mdl_quiz_attempts 有重複的欄位, 刪除該欄位即可繼續進行更新 (9)更新完成,可至 Moolde 中文加油站下載1.6.x中文語系檔,解壓縮在 moodledata/lang 目錄下(取代總站提供的zh_tw_utf8) 您的畫面英文字就會少很多了! (10)檢查您的佈景、模組、區塊是否運作正常? OK,完工了,取消[網站維護模式],重新開張!! |
|