サイトアイコン puti se blog

wordpressのmysqlをバージョンアップする方法。クリーンインストール

wordpressで使用しているmysqlをバージョンアップさせたいです。
現在は

をmysql5.6にバージョンアップさせたい

参考までに、

をインストール済みのAmazon Linux環境です。

mysql56-serverのクリーンバージョンアップ方法

クリーンじゃなくてもバージョンアップ出来ればそれで良いのですが
今回はデータベースバックアップ・リストアもかねてクリーンインストールをしてみました。

※ 以下の記事はすべてLinux上のrootユーザーで実行しています。

wordpressのデータベースをバックアップするコマンド

以下のコマンドを実施し、データベースダンプファイルを作成します

mysqldump –u aws –p wordpress > wordpress.sql

を意味しています。

mysql55-serverをアンインストール

以下のコマンドを実施します。(環境によってはもっとアンインストールしないと依存関係が残ってしまいうまくmysql56をインストール出来ないかもしれません)

yum remove mysql55-libs mysql-server mysql-config mysql55 mysql55-server

インストール済みパッケージについてmysqlを含むものはすべて削除しました。

mysqlデータをすべて削除

rm -rf /var/lib/mysql
rm -f /var/lib/mysql/mysql.sock
rm -f /var/log/mysqld.log
rm -f /var/run/mysqld/mysqld.pid
rm -f /etc/my.cnf

今回はクリーンインストールをしていたので、すべてを削除しました。
もしかしたらデータベースファイルを残しておいたら、データベース情報が引き継がれたかもしれません。。。(未確認)

mysql56-serverをインストール

以下のコマンドで、mysq56-serverをインストールします。

yum install mysql56-server

mysql56の起動。[ERROR] InnoDB: Cannot allocate memory for the buffer pool

OS搭載メモリが小さいと[ERROR] InnoDB: Cannot allocate memory for the buffer poolエラーが発生します。
今回の環境はAWS上のt2.microで搭載メモリが1GBでした。
例えば、t2.mediumの搭載メモリ4GBに変更することでmysqlサーバーが起動しました。

/etc/init.d/mysql start

mysqlのデータベースとユーザー作成

mysql -u root –p
create database wordpress;
grant all privileges on wordpress.* to aws@localhost identified by 'password';

必要ならばrootユーザーのパスワードも設定しておいた方が良いですね(ここでは省略)

mysqlのデータベースインポート

以下のコマンドを実行します。

mysql –u aws –p wordpress < wordpress.sql

※ mysql56にバージョンアップしても「ERROR 2006 (HY000) at line 478: MySQL server has gone away」が出ましたので、/etc/my.cnfに以下の設定を追加して、mysqlサーバーを再起動してから再度インポートしました。

max_allowed_packet=8M

もしも「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」と表示されたら

もしも、wordpressサイトにアクセスしたら

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

を表示されwordpressサイトが見れなかった場合、php-mysqlパッケージが足りません。
以下のコマンドを実行し、httpdを再起動します。(php56を使用の場合)

yum install php56-mysqlnd
/etc/init.d/httpd restart

モバイルバージョンを終了