今天被人告知 phpbb 打不開,昨天還好好的,今天就掛掉了 ~


然而一打開 phpbb 以後,呈現給我看的是錯誤訊息,無法 REPLACE INTO phpbb_sessions 這個 table ?


[code lang="html"]
MySQL errno: 145 Can't open phpbb_sessions.MYI
[/code]
這是第一次看到這個問題,於是利用 phpMyAdmin 來查看看是發生了什麼事 ~


耶, phpMyAdmin 也無法讀取到 ~"~


好吧,上 Google 求救一下,發現了這篇在 2003 年的文章,提問人和我一樣有類似的問題 ...



回答的人也很有禮貌的描述「原因」與「解決方法」,這是一個好榜樣,往往我在回答問題時,就算熟知原因我也很少會附註上去(應該吧)~


解決的方式其實很簡單 ~ 登入到主機後,在 Shell 的環境上連進 MySQL,再下指令去修復它即可


[code lang="html"]
dns# ./mysql -u root -p
Enter password:
mysql> use phpbb
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Didn't find any fields in table 'phpbb_sessions'
Database changed
mysql> repair table phpbb_sessions;
+----------------------+--------+----------+------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+----------------------+--------+----------+------------------------------------------+
| phpbb.phpbb_sessions | repair | warning | Number of rows changed from 2357 to 2373 |
| phpbb.phpbb_sessions | repair | status | OK |
+----------------------+--------+----------+------------------------------------------+
2 rows in set (0.06 sec)
[/code]
嘿嘿,終於又回復正常囉 :D


那為什麼會發生這樣的情況呢?可能是有人在登入或登出 phpbb 時電腦當掉或重開機,造成資料讀取有錯誤,進而影響到 phpbb_sessions 這個 table ...


此外,也可以參考 MySQL 這篇文章喔 ~
http://dev.mysql.com/doc/refman/5.0/en/repair-table.html

arrow
arrow
    全站熱搜

    Bojack 發表在 痞客邦 留言(0) 人氣()