ウェブサイト検索

CentOS/RHEL 7 および Debian システムで MariaDB 5.5 を MariaDB 10.1 にアップグレードする方法


MariaDB は有名な MySQL コミュニティ フォークであり、Oracle が MySQL プロジェクトを買収した後、非常に人気が高まりました。 2015 年 12 月 24 日に、最新の安定バージョンである MariaDB 10.1.10 がリリースされました。

新着情報

このバージョンにはいくつかの新機能が追加されており、以下で確認できます。

  1. マルチマスター クラスタ ソリューションである Galera は、MariaDB の標準部分になりました。
  2. wsrep 情報をより適切に調査するために追加された 2 つの新しい情報スキーマ テーブルが追加されました。問題のテーブルはWSREP_MEMBERSHIPWSREP_STATUS です。
  3. InnoDB および XtraDB のページ圧縮。ページ圧縮は、InnoDB COMPRESSED ストレージ形式に似ています。
  4. FusionIO のページ圧縮。
  5. いくつかの最適化調整が含まれています。

    1. 一時テーブル用の .frm ファイルを作成しないでください
    2. MAX_STATEMENT_TIME を使用して、長時間実行されるクエリを自動的に中止します。
    3. malloc() 関数の使用量が減り、単純なクエリがより高速に実行されます。
    4. ウェブスケールのパッチ
  6. プラグインのアップデート
  7. セキュリティ修正 (多くの脆弱性が解決されました)。

このチュートリアルでは、MariaDB 5.5MariaDB 10.1 の最新の安定バージョンにアップグレードする方法を説明します。アップグレードを実行するマシンへのルート アクセスが必要です。

以前のバージョンの MariaDB を実行している場合は、各バージョンを順番にアップグレードすることをお勧めします。注意してください。たとえば、MariaDB 5.1 -> 5.5 -> 10.1 です。

ステップ 1: すべての MariaDB データベースをバックアップまたはダンプする

いつものように、アップグレードを実行するときは、既存のデータベースのバックアップを作成することが重要です。次のようなコマンドを使用してデータベースをダンプできます。

mysqldump -u root -ppassword --all-databases > /tmp/all-database.sql

または、次のコマンドを使用して MariaDB サービスを停止することもできます。

systemctl stop mysql

そして、次のようにデータベース ディレクトリを別のフォルダーにコピーします。

cp -a /var/lib/mysql/ /var/lib/mysql.bak

アップグレードが失敗した場合は、上記のコピーのいずれかを使用してデータベースを復元できます。

ステップ 2: MariaDB リポジトリを追加する

リポジトリ ファイルに変更を加える前に、パッケージが最新であることを確認することをお勧めします。これは次のようにして実行できます。


yum update          [On RHEL/CentOS 7]
apt-get update      [On Debian/Ubuntu]

RHEL/CentOS 7 の場合

古いパッケージがある場合は、インストールが完了するまで待ちます。次に、CentOS/RHEL 7/ ディストリビューション用のMariaDB 10.1 リポジトリを追加する必要があります。これを行うには、vimnano などのお気に入りのテキスト エディタを使用して、次のファイルを開きます。

vim /etc/yum.repos.d/MariaDB10.repo

そこに次のテキストを追加します。

MariaDB 10.1 CentOS repository list - created 2016-01-18 09:58 UTC
http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

次に、ファイルを保存して終了します (vim :wq の場合)

Debian と Ubuntu について

次の一連のコマンドを実行して、システムに MariaDB PPA を追加します。


apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
add-apt-repository 'deb [arch=amd64,i386] http://kartolo.sby.datautama.net.id/mariadb/repo/10.1/ubuntu wily main'

重要: ubuntu wily をディストリビューション名とリリースに置き換えることを忘れないでください。

ステップ 3: MariaDB 5.5 を削除する

ステップ 1 で提案されているようにデータベースのバックアップを作成した場合は、続行して既存の MariaDB インストールを削除する準備が整いました。

これを行うには、次のコマンドを実行するだけです。


yum remove mariadb-server mariadb mariadb-libs         [On RHEL/CentOS 7]
apt-get purge mariadb-server mariadb mariadb-libs      [On Debian/Ubuntu]

次に、リポジトリ キャッシュをクリーンアップします。


yum clean all          [On RHEL/CentOS 7]
apt-get clean all      [On Debian/Ubuntu]

ステップ 4: MariaDB 10.1 のインストール

次は、次のコマンドを使用して、新しいバージョンの MariaDB をインストールします。


yum -y install MariaDB-server MariaDB-client      [On RHEL/CentOS 7]
apt-get install mariadb-server MariaDB-client     [On Debian/Ubuntu]

インストールが完了したら、次のコマンドを使用して MariaDB サービスを開始できます。

systemctl start mariadb

システムの起動後に MariaDB を自動的に起動する場合は、次のコマンドを実行します。

systemctl enable mariadb

最後に、アップグレード コマンドを実行して MariaDB をアップグレードします。

mysql_upgrade

アップグレードが成功したことを確認するには、次のコマンドを実行します。

mysql -V

おめでとうございます。アップグレードが完了しました。

結論

MariaDB/MySQL のアップグレードは、常に細心の注意を払って実行する必要があるタスクです。スムーズに完了することを願っています。何か問題が発生した場合は、お気軽にコメントを投稿してください。