mariadbの全テーブルをチェックする
# mysqlcheck -c -u root -p -A
wp_xxxxx.wp_options
Warning : InnoDB: The B-tree of index option_name is corrupted.
Warning : InnoDB: The B-tree of index autoload is corrupted.
error : Corrupt
wp_xxxxx.wp_postmeta
Warning : InnoDB: The B-tree of index post_id is corrupted.
Warning : InnoDB: The B-tree of index meta_key is corrupted.
error : Corrupt
wp_xxxxx.wp_posts
Warning : InnoDB: The B-tree of index post_name is corrupted.
Warning : InnoDB: The B-tree of index type_status_date is corrupted.
Warning : InnoDB: The B-tree of index post_parent is corrupted.
Warning : InnoDB: The B-tree of index post_author is corrupted.
error : Corrupt
ワーニング部分を抜粋:
データーベースに入り、reapir table wp_options; でエラーが出る。そうだInnoDB はreapir table をサポートしていないんだっけ。
なので、/etc/my.cnf の [mysqld] に下記を追記してを再起動
innodb_force_recovery = 1
右の数字を3にし、再起動でも治っていない。
色々ググると optimize table が使えそうなので、データーベースに入り、DB名で使用するDBを指定し
optimize table wp_options;
+----------------------+----------+----------+-------------------------------------------------------------------+
| Table | Op | Msg_type | Msg_text |
+----------------------+----------+----------+-------------------------------------------------------------------+
| wp_iguchi.wp_options | optimize | note | Table does not support optimize, doing recreate + analyze instead |
| wp_iguchi.wp_options | optimize | status | OK |
+----------------------+----------+----------+-------------------------------------------------------------------+
2 rows in set (0.052 sec)
お! 直たみたい。他の2つのテーブルも同様にしてから、再度
# mysqlcheck -c -u root -p -A
全てOKになった。めでたし、めでたし. 忘れずに
innodb_force_recovery = 1 をコメントアウトし、mariadb を再起動してね。