
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 Linux | 7.4.1708 |
MariaDBを10系へアップグレードする手順
repoファイルの作成
まず、以下のサイトへアクセスして、以下の画像の設定でyumリポジトリ情報を生成します。
MariaDB - repository generator
つぎに、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ファイルができている場合は、既存の設定ファイルと新しい設定ファイルを統合します。

サービスの開始
サービスを停止させたときと逆の順序でサービスを開始します。
# 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
データベースに接続して確認するときは以下のコマンドで
# mysql -u root -p'password' -e 'status'
サービス開始後「systemctl status mariadb」で、サービスがエラーなく起動しているかを確認して、稼働させている各ソフトウェアからMariaDBに接続できていればOKです。
補足情報
MariaDBをアップデートした場合、サービス起動時に以下のようなエラーや警告が出力されることがあります。
そのような場合は、ログに記述されているように、「mysql_upgrade」コマンドを実行してサービスを再起動することでエラーを解消できます。
「mysql_upgrade」コマンドは、データベースのシステムテーブルを更新するツールで「mysql_upgrade -u root -p」と入力して実行します。
なお、コマンドの実行は、おおむね数秒程度で完了します。
mysql_upgrade - MariaDB Knowledge Base
あとがき
意外と簡単にアップグレードできました。