CentOS/RHEL 7 および Debian システムで MariaDB 5.5 を MariaDB 10.1 にアップグレードする方法
MariaDB は有名な MySQL コミュニティ フォークであり、Oracle が MySQL プロジェクトを買収した後、非常に人気が高まりました。 2015 年 12 月 24 日に、最新の安定バージョンである MariaDB 10.1.10 がリリースされました。
新着情報
このバージョンにはいくつかの新機能が追加されており、以下で確認できます。
- マルチマスター クラスタ ソリューションである Galera は、MariaDB の標準部分になりました。
- wsrep 情報をより適切に調査するために追加された 2 つの新しい情報スキーマ テーブルが追加されました。問題のテーブルはWSREP_MEMBERSHIP と WSREP_STATUS です。
- InnoDB および XtraDB のページ圧縮。ページ圧縮は、InnoDB COMPRESSED ストレージ形式に似ています。
- FusionIO のページ圧縮。
いくつかの最適化調整が含まれています。
- 一時テーブル用の .frm ファイルを作成しないでください
- MAX_STATEMENT_TIME を使用して、長時間実行されるクエリを自動的に中止します。
- malloc() 関数の使用量が減り、単純なクエリがより高速に実行されます。
- ウェブスケールのパッチ
このチュートリアルでは、MariaDB 5.5 を MariaDB 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 リポジトリを追加する必要があります。これを行うには、vim や nano などのお気に入りのテキスト エディタを使用して、次のファイルを開きます。
# 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 のアップグレードは、常に細心の注意を払って実行する必要があるタスクです。スムーズに完了することを願っています。何か問題が発生した場合は、お気軽にコメントを投稿してください。