主題: 升級資料庫時沒有亂碼問題, 但卻變成無法以管理員登入~ 作者: jacklo99 於 十一月 29, 2006, 11:04:24 上午 因為想要升級LT1.1.2(現在是LT1.0.6), 所以手賤就先從升級Appserv開始做.
Appserv是2.4.4a, Mysql預設是big5編碼, 但因為LT一開始就是使用utf8, 所以雖然打開資料庫看時資料都是亂碼, 但是LT的運行和顯示都一切正常. 升級到Appserv2.4.7時, 可以設定utf編碼了, 升級後資料庫沒有做匯入匯出, 但資料都還在, 連接到LT看也一切正常, 資料庫內容也能顯示正常的中文字, 以為一切都搞定, 準備開始做LT的升級時才發現, 居然無法以管理員身份登入??? 我的LT管理員密碼是正確的, 但LT回應密碼錯誤~ 打開MySQL看, 密碼己經是經過編碼的文數字, 看起來沒什麼不對, 只好還原回舊版的Appserv2.4.4a, 一切又都正常了, LT又再度能認識我的密碼了, 請問這是因為mysql編碼校對的問題嗎? 還是有其他的因素? 第二個問題, 還原回來後, 資料庫好像有一點點不穩定, 當我輸入新文章發表時, 所有的內文都不見了, 查了MySQL, 發現article_text這個資料表變成使用中, 不給看, 好像是鎖死了, 所以讓LT無法讀出資料, 才使得內文都消失, 重新開機或中止MySQL都不行, 最後只好把備份的data灌回去, 才解除此一狀況, 但是這時重新貼文, 又似乎不會鎖死了, 理論上來說, 現在我的系統等於是還原回原來的Appserv2.4.4a, 以及尚未動過的LT1.0.6 剛爬過文沒有看到有人有類似狀況, 請問這是怎麼回事呢? 第三個問題, 最近不知為何, 垃圾引用開始變得很多, 每天都會照三頓進來四五十篇, 這也是我想升級的原因之一 請問升成LT1.1.2有機會改善嗎? 還是這是因為垃圾發信者功力提昇的關係? 要如何解決呢? 先在此謝謝各位的指點, 不勝感激~ 主題: Re: 升級資料庫時沒有亂碼問題, 但卻變成無法以管理員登入~ 作者: jacklo99 於 十二月 10, 2006, 09:07:34 下午 剛剛重新試了一次上週的狀況,
找到可能的問題所在,所以回報一下,目前只是升級mySQL, 由Appserv2.4.4a升到2.4.7, 資料庫的資料在昇級後確實都存在,而且從原來的亂碼變成沒有亂碼發生, 在前台的顯示表現也都很正常,只是無法以管理員帳號登入, 看到一篇重新以MD5重設密碼的Q&A, 試了一下還是不行 仔細檢查後發現,mySQL在轉換昇級時,雖然保留了所有的內容物,但是欄位的參數型態卻全部跑掉了, 尤其是在VARCHAR和CHAR, 以我以前學過一點點Pascal的印象, 這個應該是定義參數長度, 比對了備分下來的SQL檔, 發現以下的神秘事件, userid的欄位長度由15變成只有5, password由32變成只有10, 但是原始內容還是32個數字, 重新產生的密碼存入後也只剩下10個數字, 更好玩的, 我的userID重設後也只剩下5個字, 所以我試著用最笨的方法檢查26個資料表中的各欄位的參數, 發現以下的規律: 應該是15的都變成5 100->33 255->85 64->21 128->42 30->10 32->10 4->1 50->16 所以我就都改過來了, 基本上現在都很正常, 另外資料庫有時會鎖死, 但可能不是同一個原因, 使用Repair就回來了, 如果用一陣沒問題, 我打算就以這個狀況來昇級到1.1.3 不過在此之前, 有沒有高手們知道這是什麼原因啊? 是因為連線校對產生的錯誤嗎? |