URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

MariaDB 10.2から10.3へのアップグレード

 特に機能面での必要性があったわけではないですが、このサイトで使っているMariaDBを最新バージョンへアップグレードしました。
 そのメモです

 OSはCentOS 7.5で、パッケージは"yum"で最新の状態から。
 アップグレード前のMariaDBは"10.2.16"でした。

 最初はお約束ですが、リスク軽減のためのバックアップ。
 まずはデータベース

# mysqldump -u root -p --all-databases > /tmp/all_db_backup.sql

 続いて、以下のディレクトリ/ファイルをコピーして待避 。
 (下2つは自分の環境の場合)

  • /etc/my.cnf
  • /etc/my.cnf.d
  • /etc/postfix
  • /etc/fail2ban

 ここからが本番。
①MariaDBサービスを停止します。

# systemctl stop mariadb.service

 サービスを停止したら、念には念を入れてデータベースの物理バックアップをとっておきます。
 自分の場合は"/var/lib/mysql"以下に配置しているので、ここを全てコピーしました。

②既存のMariaDBパッケージを削除します。
 この時、自分の環境では依存性によってPostfixとFail2banもアンインストールされました。

# yum -y erase MariaDB-*

③レポジトリファイルの内容をMariaDB 10.3用に書き換えます。
 (自分の場合は"/etc/yum.repos.d/MariaDB.repo")
 Setting up MariaDB Repositories へアクセスし、「CentOS」→「CentOS 7 (x86_64)」→「10.3 [Stable]」の順に選択していくと、レポジトリファイルに記載する内容が表示されます。

④MariaDB 10.3をインストールします。

# yum -y install MariaDB-server MariaDB-client

⑤バックアップしておいた設定ファイル"my.cnf"および"my.cnf.d"を元の場所に戻し、必要に応じて修正します。
 特にv10.3で変更/削除された設定に注意が必要です(前述の参考サイトを確認)。
 自分の場合は"innodb_support_xa = 1"を記述していましたが、v10.3ではこのパラメータは削除されていました。

⑥サービスを起動します。
 特に前述の設定を間違っているとサービスが起動しなかったりします。

# systemctl start mariadb.service

⑦テーブルの互換性チェックと修正を実施します。

# mysql_upgrade -u root -p

 コマンドが正常に完了すれば、MariaDBのアップグレードは終了です。

 なお、この後にPostfixやFail2banの再インストール/設定を実施しています。