CentOS 7のWordPress環境でMariaDBを5.5系から10系へアップグレードする

CentOS 7のWordPress環境でMariaDBを5.5系から10系へアップグレードする

MariaDBには、MySQLとの互換性が重視されているバージョン5.5系と、積極的に新機能の導入が進められているバージョン10系の2系統あります。

CentOS 7では、標準のリポジトリからインストールした場合は、5.5系がインストールされますが、CentOS 7上で稼働させているWordPressの推奨環境がMriaDB10なので、推奨環境へ近づけるためにアップデートしてみました。

そこでここでは、CentOS 7でMariaDBを5.5系(5.5.56)から10系(10.2.13)へアップグレードしたときの手順を紹介します。

動作環境

この記事は、以下の環境での動作結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
CentOS Linux7.4.1708

MariaDBを10系へアップグレードする手順

repoファイルの作成

まず、以下のサイトへアクセスして、以下の画像の設定でyumリポジトリ情報を生成します。

MariaDB - repository generator

CentOS 7のWordPress環境でMariaDBを5.5系から10系へアップグレードする

つぎに、CentOS 7にログインして生成したリポジトリ情報をrepoファイルとして保存します。

# vi /etc/yum.repos.d/mariadb.repo

# MariaDB 10.2 CentOS repository list - created 2018-03-03 08:11 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2/CentOS 7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

サービスを停止

mariadbを利用しているソフトウェアをすべて停止させて、最後にmariadbを停止させます。

私の環境では、nginx、php-fpm、mariadbの順でサービスを停止しました。

# systemctl stop nginx
# systemctl stop php-fpm
# systemctl stop mariadb

MariaDBをアップグレード

先ほど作成したrepoファイルを使用してMariaDBをアップデートします。

# yum update --enablerepo=mariadb mariadb mariadb-server

設定ファイルの統合

設定ファイル「.conf」などでrpmnewファイルやrpmsaveファイルができている場合は、既存の設定ファイルと新しい設定ファイルを統合します。

CentOS 7でアップデート後にrpmnew、rpmsaveファイルが生成されたときの対処方法
ここでは、CentOS 7でパッケージアップデート時生成されることがあるrpmnew、rpmsaveファイルとはなにかや、生成されていたときの対処方法を紹介します。

サービスの開始

サービスを停止させたときと逆の順序でサービスを開始します。

# systemctl start mariadb
# systemctl start php-fpm
# systemctl start nginx

更新確認

MariaDBのバージョンが上がっているか確認します。

# mysql --version
mysql Ver 15.1 Distrib 10.2.13-MariaDB, for Linux (x86_64) using readline 5.1
Memo

データベースに接続して確認するときは以下のコマンドで

# mysql -u root -p'password' -e 'status'

サービス開始後「systemctl status mariadb」で、サービスがエラーなく起動しているかを確認して、稼働させている各ソフトウェアからMariaDBに接続できていればOKです。

補足情報

MariaDBをアップデートした場合、サービス起動時に以下のようなエラーや警告が出力されることがあります。

CentOS 7のWordPress環境でMariaDBを5.5系から10系へアップグレードする

そのような場合は、ログに記述されているように、「mysql_upgrade」コマンドを実行してサービスを再起動することでエラーを解消できます。

「mysql_upgrade」コマンドは、データベースのシステムテーブルを更新するツールで「mysql_upgrade -u root -p」と入力して実行します。

なお、コマンドの実行は、おおむね数秒程度で完了します。

mysql_upgrade - MariaDB Knowledge Base

あとがき

意外と簡単にアップグレードできました。