「MySQL」の版間の差分

提供: Wikinote
移動: 案内検索
(新しいページ: '== 覚え書き == === テーブルの修復 === 某 PHP アプリが正常に動作しないと思ったら、データベースのテーブルが破損していた。 mys...')
 
行1: 行1:
 
== 覚え書き ==
 
== 覚え書き ==
  
=== テーブルの修復 ===
+
=== テーブルのチェックと修復 ===
  
 
某 PHP アプリが正常に動作しないと思ったら、データベースのテーブルが破損していた。
 
某 PHP アプリが正常に動作しないと思ったら、データベースのテーブルが破損していた。
行22: 行22:
 
  +----------------------------+--------+----------+----------+
 
  +----------------------------+--------+----------+----------+
 
  1 row in set (1.24 sec)
 
  1 row in set (1.24 sec)
 +
 +
 +
データベース全体をチェックする場合は、mysqlcheck コマンドが使える。
 +
 +
# mysqlcheck -u root -p wikidb
 +
Enter password:
 +
wikidb.archive                                    OK
 +
wikidb.category                                    OK
 +
wikidb.categorylinks                              OK
 +
wikidb.externallinks                              OK
 +
wikidb.filearchive                                OK
 +
  ...

2011年5月12日 (木) 19:54時点における版

覚え書き

テーブルのチェックと修復

某 PHP アプリが正常に動作しないと思ったら、データベースのテーブルが破損していた。

mysql> check table Recorder_programTbl;
+----------------------------+-------+----------+----------------------------------------------------------------------------------+
| Table                      | Op    | Msg_type | Msg_text                                                                         |
+----------------------------+-------+----------+----------------------------------------------------------------------------------+
| pt2_db.Recorder_programTbl | check | error    | Table './pt2_db/Recorder_programTbl' is marked as crashed and should be repaired | 
+----------------------------+-------+----------+----------------------------------------------------------------------------------+
1 row in set (0.00 sec)

以下のコマンドで修復できる。

mysql> repair table Recorder_programTbl;
+----------------------------+--------+----------+----------+
| Table                      | Op     | Msg_type | Msg_text |
+----------------------------+--------+----------+----------+
| pt2_db.Recorder_programTbl | repair | status   | OK       | 
+----------------------------+--------+----------+----------+
1 row in set (1.24 sec)


データベース全体をチェックする場合は、mysqlcheck コマンドが使える。

# mysqlcheck -u root -p wikidb
Enter password: 
wikidb.archive                                     OK
wikidb.category                                    OK
wikidb.categorylinks                               OK
wikidb.externallinks                               OK
wikidb.filearchive                                 OK
 ...