勉強したことのメモ

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

  関連記事

Advanced Custom Fieldsで設定した項目を条件に記事一覧を取得する方法
Advanced Custom Fieldsで設定した項目を条件に記事一覧を取得する方法

WordPressでAdvanced Custom Fieldsにて設定した項目 ...

WordPressで事前に指定した禁止ワードが入力されている場合は記事を保存・公開できないようにする方法
WordPressで事前に指定した禁止ワードが入力されている場合は記事を保存・公開できないようにする方法

WordPressで事前に指定した禁止ワードが入力されている場合に記事を保存・公 ...

Contact form7で送信数を測定(トラッキングタグ)
Contact form7で送信数を測定(トラッキングタグ)

contact form7でフォーム送信が完了した時点で計測されるようにトラッキ ...

WordPressのMedia Library Organizerでダイアログ初回表示時のカテゴリを指定する方法
WordPressのMedia Library Organizerでダイアログ初回表示時のカテゴリを指定する方法

Media Library Organizerを使用中のWPサイトで画像をカテゴ ...

WordPressでサイト及びサーバ内ファイルが改ざんされた際の対処方法
WordPressでサイト及びサーバ内ファイルが改ざんされた際の対処方法

WordPressで立ち上げたサイトがあり、しばらく放置していたが久しぶりにチェ ...