CentOS7:MariaDBを5.5系(5.5.56)から10系(10.2.13)へアップデートする

MariaDB 10.2.13

MariaDBには、MySQLとの互換性が重視されているバージョン5.5系と、積極的に新機能の導入が進められているバージョン10系の2系統あります。標準のリポジトリからインストールした場合は、5.5系がインストールされますが、WordPressの推奨環境がMriaDB10なので、推奨環境へ近づけるためにアップデートしてみました。

ここでは、WordPress環境(CentOS7+Nginx+php-fpm+MariaDB)で、MariaDBを5.5系(5.5.56)から10系(10.2.13)へアップデートしたときの手順を紹介します。

手順

repoファイルの作成

MariaDB - repository generator」にアクセスし、以下の画像の設定でyumリポジトリ情報ファイルを作成します。

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/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

サービスを停止

nginx、php-fpm、mariadbの順でサービスを停止しておきます。

systemctl stop nginx
systemctl stop php-fpm
systemctl stop mariadb

アップデート

先ほど作成したリポジトリ情報を使用してMariaDBをアップデートします。

yum update --enablerepo=mariadb mariadb mariadb-server

設定ファイルの統合

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

CentOS7:パッケージアップデートでrpmnew、rpmsaveファイルができたときは
CentOS7でパッケージをアップデートしたときに「.conf.rpmnew」ファイルや「.conf.rpmsave」ファイルが作成され...

サービスの開始

mariadb、php-fpm、nginxの順でサービスを開始します。

systemctl start mariadb
systemctl start php-fpm
systemctl start nginx

更新確認

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

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'」

サービス開始後、WordPressサイトが問題なく表示できればアップデート完了です。

おまけ

MariaDBをアップデート後、サービス起動時に以下のようなエラーログが出力される場合があります。

[ERROR] Missing system table mysql.roles_mapping; please run mysql_upgrade to create it

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

まとめ

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

スポンサーリンク