増えた使えるデータベース(MySQL)
ロリポップ・サーバーの契約をライトプランからスタンダードプランへ変更したことにより、使えるデータベース(MySQL)が激増(1→30個)した。
これまで1個のMySQLを複数のWordpressで使用していた。
月間10,000ページビューに遠く及ばない当ブログ及びミニサイトである。
レスポンス改善に役立つかは不明だが、新しく作成した各々のMySQLにデータを移してみた。
phpMyAdminでエクスポート/インポート
MySQLの標準ツールである。
独自ドメインへ移行済みのこのブログはこの手順しか思い浮かばなかった。
新しく作成したMySQLへ現用データをコピーしておく。
Wordpressの設定ファイル(wp-config.php)を書き代えて使用するMySQLを変更する。
WordPressツールでエクスポート/インポート
WordPressが標準で備えるツールである。
ロリポップ・ドメインから独自ドメインへ移行する残りのミニサイトはこの手順で実施した。
マルチサイトの子サイトで運用しているこれらを独自ドメインへ移行するにはWordpressの再インストールからだ。
前回、このブログの独自ドメイン移行では画像移行にFTPを使用した。
結果、メディアライブラリに画像が表示されない不具合に悩まされた。
エクスポートの設定で投稿やページに紐付いた画像も持って来るようにしたら成功。
MySQLのバージョンとストレージエンジン
新規のMySQLのバージョンは5.6(写真下)で作成される。
ライトプランから使用しているMySQLのバージョンは5.1(写真上)だ。
ちょっと気になる違いに気付いた。
バージョン5.5からデフォルトのストレージエンジンがMyISAMからInnoDBに変更されている。
マイアイサム、イノディービーと発音するらしい。
MySQLはデータベース管理システムのひとつで、データを読み書きする仕組みがストレージエンジンに該当する。
あるデータを更新するとき処理が終わるまで他からのアクセスを制限(排他制御)しないと矛盾が生じる。
MyISAMはテーブル単位で、InnoDBはレコード単位でロックするようだ。
表計算ソフトMicrosoft Office Exelでイメージしてみる。
前者はあるブック(データベース)の同じワークシート(テーブル)への、後者は同じ行(レコード)への同時アクセスをロックするのがそれかな。
ストレージエンジンを変更すべきか
方式により他にも一長一短があるようだ。
新規作成したMySQL(5.6)のテーブルはInnoDBで新規作成されるのが基本。
今回、独自ドメインへ移行したミニサイトの現用MySQL(5.1)のテーブルはデフォルトMyISAMである。
WordpressツールでMySQL(5.6)へエクスポート/インポートした後のテーブルは全てInnoDBへ変更された。
また、ライトプラン(MySQLは1個、契約当初のバージョン5.1)時点で独自ドメイン移行済みの当ブログはMySQL(5.1)でデフォルトMyISAMだ。プラグインが使用するテーブルによってはInnoDBもある。
ストレージエンジンはテーブル単位に決められるので、ひとつのMySQLに混在している。
新規作成されたMySQL(5.6)へphpMyAdminでエクスポート/インポートした。
この手順では変更されず、元のMySQLでのMyISAM/InnoDBのままだった。
なお、現在のWordpressのバージョンは4.74である。
ストレージエンジンの変更作業は可能らしい。
良く調べてから考えよう。