ウェブサイト検索

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


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

新しいことは何ですか

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

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

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

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

注意してください。古いバージョンの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のアップグレードは常に特別な注意を払って行うべき作業です。あなたのアップグレードが問題なく完了したことを願っています。何か問題が発生した場合は、遠慮なくコメントしてください。

関連記事: