MariaDBを10.3にアップグレードする際の手順と注意事項

MariaDBを10.3にアップグレードする際の手順と注意事項 サーバー

MariaDBを10.3未満から10.3にアップグレードする際の注意事項と手順です。

公式サイトに記載された手順をもとに古いMariaDBを一旦全て削除してから最新版のインストールを行った方法と、MariaDB-serverだけrpmで削除して他は上書きでインストールした方法の2種類を解説します。

※動作確認環境
CentOS 7.6
MariaDB 10.1から10.3に変更

■新規でMariaDB 10.3をインストールする際は以下のページをご覧ください。

MariaDB(MySQL)初期設定時のセキュリティとutf8mb4化の手順
MariaDB(MySQL)の初期設定時の「mysql_secure_installation」によるセキュリティ対策と、スマホの絵文字対策のために文字セット(charset)を「utf8mb4」へ変更する際の手順です。 MariaD...
スポンサーリンク

現在のMariaDBの確認

まず、今現在利用中のインストール済みのMariaDBを調べます。

このMariaDB 10.1を10.3にアップグレードしていきます。

スポンサーリンク

リポジトリの更新

既存のリポジトリの確認

「yum repolist」で現在登録されているリポジトリを確認します。

このMariaDBのリポジトリを更新します。

curlでリポジトリの更新を行う場合

curlでリポジトリの最新版をインストールする場合は、古い同じ名前のリポジトリは「mariadb.repo.old_1」という風に「/etc/yum.repos.d/」内にバックアップしてくれますので便利です。

手動でリポジトリ(.repoファイル)を書き換える場合

CentOS 7の場合は「/etc/yum.repos.d/mariadb.repo」をvi等で書き換えてください。

※MariaDB 10.3用のリポジトリ設定はMariaDB公式サイトにて確認できます。

リポジトリ情報をリロード

書き換えたらリポジトリ情報をリロードします。

スポンサーリンク

【選択肢1】yumで既存のMariaDBを全削除してから10.3をインストール

※この方法は、公式サイトに記載された手順を参考に行う手順ですが、MariaDBをyumで削除すると他の依存パッケージも削除されてしまいます。

環境によっては多数のパッケージが削除される可能性があり、その復旧作業で結構な手間が掛かりますので、手間が掛かっても全部削除してスッキリしてから新しくインストールしたいという方以外は次の見出しにある「【選択肢2】rpmでMariaDB-serverだけ削除してから10.3をyumでインストール」をお勧めします。

依存関係の調査

まず、yum removeの実行テストをして既存のMariaDBの依存関係を調べます。

※依存関係のテストなので途中で必ず[N]で削除を停止してください。

上記の例だと、postfixが依存性関連で削除されてしまうので、postfixの設定ファイルのバックアップが必要です。

環境により依存関連で削除されるパッケージが変わりますので、削除されるパッケージの確認と設定ファイルのバックアップは必ず行ってください。

データベースと設定ファイルのバックアップ

データベース全体のバックアップと、MariaDBの既存の設定ファイル、及び依存性関連で削除されてしまうpostfixの設定ファイルをバックアップします。

バックアップ用のディレクトリ作成

データベースのバックアップ

各種設定ファイルのコピー

確認

バックアップ完了です。

MariaDBの停止

MariaDBを停止します。

MariaDBの削除

今度は「-y」オプションを付けて古いMariaDBを一気に削除します。

これでスッキリ綺麗になりました。(※postfixも同時に削除されています。)

MariaDB 10.3をインストール

MariaDB 10.3の「MariaDB-devel」「MariaDB-client」「 MariaDB-server」をインストールします。

MariaDB 10.3のインストールが完了しました。

MariaDBを起動し、自動起動をオンにします。

削除されたパッケージの復元

古いMariaDBを削除した際に依存関係で同時に削除されたパッケージをインストールします。
※当方の環境ではpostfixが削除されましたので入れなおします。

postfixの設定ファイルをバックアップから復元(※全て上書き)

postfixの起動&自動起動設定

スポンサーリンク

【選択肢2】rpmでMariaDB-serverだけ削除してから10.3をyumでインストール

※この方法は、MariaDB 10.1から10.3に無理やりyum updateを行ったら「MariaDB-server」だけアップデートに失敗し、その際に表示されていたエラーに書かれていた手順を参考に行います。

以下がエラーの内容です。

MySQLまたはMariaDBサーバーパッケージ(MariaDB-server-10.1.37-1.el7.centos.x86_64)がインストールされています。
MySQL 10.1からMariaDB 10.3に直接アップグレードすることは、すべての場合において安全ではないかもしれません。
手動ダンプおよびmysqldumpを使用した復元をお勧めします。 MariaDBマニュアルのバージョン固有の非互換性については、アップグレードのセクションを参照することが重要です。

手動アップグレードが必要です。

– データとmy.cnfファイルの完全な作業用バックアップがあることを確認してください。
– MySQLサーバをきれいにシャットダウンする
– 既存のMySQLパッケージを削除します。通常このコマンドは削除すべきパッケージを一覧表示します。

rpm -qa | grep -i ‘^ mysql-‘

mysqlclient共有ライブラリを含むパッケージを削除するには、 ‘rpm –nodeps -ev <パッケージ名>’を使用することを選択できます。このライブラリはMariaDB共有パッケージによって再インストールされます。

– MariaDB Foundationが提供する新しいMariaDBパッケージをインストールします。
– MariaDBサーバーが起動していることを確認します。
– ‘mysql_upgrade’プログラムを実行してください。

これはアップグレードプロセスの簡単な説明です。重要な詳細はMariaDBのマニュアルの「アップグレード」セクションにあります。

この手順で進めていきます。

データベースと設定ファイルのバックアップ

データベース全体のバックアップと、MariaDBの既存の設定ファイルをバックアップします。

バックアップ用のディレクトリ作成

データベースのバックアップ

各種設定ファイルのコピー

MariaDBの停止

MariaDBを停止します。

削除するMariaDB-serverの確認

削除するMariaDB-serverの詳細を確認します。

MariaDB-serverの削除

「MariaDB-server-10.1.37-1.el7.centos.x86_64」だけを「rpm –nodeps -ev」で削除します。

正常に削除されたかの確認

正常に「MariaDB-server」だけ削除されました。

yumでMariaDB 10.3をまとめてインストール

yumで「MariaDB-devel」「MariaDB-common」「MariaDB-client」「MariaDB-server」「MariaDB-shared」の10.3をまとめてインストール(上書きインストール)します。

確認

正常にインストールが成功しました。

MariaDBを起動し、自動起動をオンにします。

スポンサーリンク

MariaDB 10.3の初期設定

mysql_secure_installationの実行

【選択肢1】又は【選択肢2】でMariaDB 10.3のインストールが完了したら、不要なユーザーや不要なデータベースを削除してセキュリティを高める「mysql_secure_installation」を実行します。

設定ファイルを編集

MariaDB 10.3用の設定ファイル「/etc/my.cnf.d/server.cnf」が新規作成されているので、事前にバックアップした設定ファイルからvi等で必要な情報を記載して編集します。

確認したところ、「server.cnf.bak」というファイルが作成されてMariaDB 10.1用の設定ファイルは自動でバックアップされていました。

「/etc/my.cnf」にもバックアップから必要な設定をvi等で追記します。

設定ファイルの編集が終わったらMariaDBを再起動します。

mysql_upgradeの実行

アップグレード後の整合性をチェックするために「mysql_upgrade」を実行します。

全てOKと出れば問題ありません。

※文字セット(charset)をutf8mb4に変更したい場合は以下のページで手順を解説していますのでご覧ください。

MariaDB(MySQL)初期設定時のセキュリティとutf8mb4化の手順
MariaDB(MySQL)の初期設定時の「mysql_secure_installation」によるセキュリティ対策と、スマホの絵文字対策のために文字セット(charset)を「utf8mb4」へ変更する際の手順です。 MariaD...
スポンサーリンク

最後に再起動

最後に念のために各サービスを再起動します。

いっそのことサーバ全体を再起動したほうが気持ちイイかもしれません。

これでMariaDBのアップグレード作業は全て完了です。
お疲れ様でした。

以上で解決です。

サーバー
スポンサーリンク
スポンサーリンク
Ketsunosukeをフォローする
己で解決!泣かぬなら己で鳴こうホトトギス