勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

WordPressのデータベースの整理について(リビジョン削除、MyISAMからInnoDBに変更)

WordPressのデータベースを直接変更・削除することは今まであまりなかった。ただ、だいぶ前にWordPressを導入し、そのままだったので今更ながらに確認してみるとリビジョンがたまっていたり、MyISAMエンジン設定されているテーブルがあった。この辺の整理方法をメモ。

 

対応方法

バックアップ

まずは事前にバックアップを必ず取る。Adminer / AdminNeoどちらでもいいがWordPressデータベースを全部エクスポートする。

リビジョンの削除と最適化

以下でリビジョンを削除できる。

DELETE FROM wp_posts 
WHERE post_type = 'revision';

削除後はAdminerの場合、各テーブルの左側のチェックボックスにチェックを入れ、ページ下部の「最適化」をクリックする。

MyISAMからInnoDBに変更

以下でSQL文を表示させ、それを実行する。

# MyISAM設定されたテーブルを表示
SELECT TABLE_NAME, ENGINE 
FROM information_schema.TABLES 
WHERE TABLE_SCHEMA = DATABASE() 
AND ENGINE = 'MyISAM';

# InnoDBに変更するSQL文を表示
SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;') AS ExecutionSQL
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE() 
AND ENGINE = 'MyISAM';

 

所感

サーバ移行時などには忘れず整理したいところ。

 - MySQL / MariaDB データベース WordPress CMS

  関連記事

WordPressにてACFで設定したカスタムフィールドの値を元に記事を並べ替える方法
WordPressにてACFで設定したカスタムフィールドの値を元に記事を並べ替える方法

WordPressにてAdvanced Custom Fieldsで設定したカス ...

WordPressダッシュボードに投稿・固定ページ・カテゴリ・タグ一覧ページにIDを表示させてソート可能にする方法
WordPressダッシュボードに投稿・固定ページ・カテゴリ・タグ一覧ページにIDを表示させてソート可能にする方法

WordPressダッシュボードの投稿(記事)・固定ページ・カテゴリー・タグ一覧 ...

WordPressのContact Form 7から送信した内容をダッシュボードから確認及びCSVファイル化する方法
WordPressのContact Form 7から送信した内容をダッシュボードから確認及びCSVファイル化する方法

WordPressのContact Form 7プラグインで実装されたお問い合わ ...

他所のサーバからWordPressの記事情報をpostIDを指定して取得する方法
他所のサーバからWordPressの記事情報をpostIDを指定して取得する方法

他所のサーバからWPの記事IDを指定した上で、当該IDのタイトル・アイキャッチ画 ...

WordPressで連載(シリーズ)記事機能を「Series」プラグインで実装する方法
WordPressで連載(シリーズ)記事機能を「Series」プラグインで実装する方法

WordPressで連載(シリーズ)記事機能を実装したい。例えば「PHPでBBS ...