MySQLからMariaDBへの移行作業メモ

最近晩ご飯はもっぱらざるそば。こんばんはころすけ(@wg_koro)です。

MariaDBロゴ

先日、こんな記事を読んだんですが

MySQL生みの親のMichael “Monty” Widenius氏に訊く「MySQLとMariaDB」(1/3):企業のIT・経営・ビジネスをつなぐ情報サイト EnterpriseZine (EZ)

恥ずかしながら、MariaDBのこと知らなかった・・・。MariaDBはMySQLとほぼ100%の互換性を持っているデータベースです。

MariaDB – Wikipedia

MariaDBの開発は、MySQLのオリジナルコードの作者でMySQL ABの創設者でもあるMichael “Monty” Wideniusにより、現在オラクルによって所有されているMySQLをフォークして立ち上げられたプロジェクトにより行われている。

MySQLがOracleに買収されてうんぬんという騒ぎは知っていたんですが、これは知らなかったなぁ。調べてみると、大手がどんどんMySQLからMariaDBに乗り換えているんですね。

グーグルがMySQLを切り捨ててMariaDBを採用 | ReadWrite Japan

こちらはちょっと古い記事。

Fedora 19からはMySQLに代わりMariaDBを標準に採用「オラクルはMySQLプロジェクトをさらに閉鎖的にしている」。MariaDB Foundationもすでに設立 - Publickey

これらの記事を読んでいるうちに、このブログサーバーのDBもMySQLからMariaDBに乗り換えたくなった。MySQL古いし(5.1)。 → 載せ替えてみた。

移行作業はびっくりするくらいあっさりと終わったので、その工程をメモっておきます。あ、環境はCentOS6です。

リポジトリを追加

MariaDBの公式ページにリポジトリ情報が載っているので、それをコピーして使います。https://downloads.mariadb.org/mariadb/repositories/#mirror=yamagata-university

[shell]
$ sudo vi /etc/yum.repos.d/mariadb.repo

# 中にコピペしてきた内容を書き込む
# MariaDB 10.0 CentOS repository list – created 2014-03-06 07:56 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
[/shell]

念のため、今のMySQLデータを全てバックアップ

[shell]
mysqldump –all-databases –user=root –password –master-data > alldata.sql
[/shell]

MySQLを停止

[shell]
sudo chkconfig mysqld off
sudo service mysqld stop
[/shell]

MySQL一式を削除

[shell]
sudo yum remove mysql* mysql-server mysql-devel mysql-libs
[/shell]

MariaDB一式インストール

[shell]
sudo yum install MariaDB-devel MariaDB-client MariaDB-server -y
[/shell]

各言語のMySQLライブラリを入れ直す

[shell]
# MySQLアンインストール時にphp54-mysqldが外れたのでいれなおす
# この時、使用している各言語のMySQLライブラリをチェックしたほうがよいと思われる。gemとか。
sudo yum install php54-mysqld
[/shell]

my.cnfをバックアップから戻す

/etc/my.cnf はMySQL一式アンインストール時に /etc/my.cnf.rpmsave にバックアップされています。それを戻す。

[shell]
sudo cp /etc/my.cnf.rpmsave /etc/my.cnf
[/shell]

MariaDBスタート

MySQLとほぼ同じコマンドがそのまま使えます。

[shell]
# MariaDBスタート
sudo service mysql start

# 自動起動設定
sudo chkconfig mysql on
[/shell]

ログインしてみる

MySQLログインと同じ。

[shell]
$ mysql -u root -p
[/shell]

MariaDBが動いてますね。

[shell]
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 499
Server version: 10.0.8-MariaDB-log MariaDB Server

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

MariaDB [(none)]>
[/shell]

バックアップとったけど不要だった

最初にmysqldumpしましたが、全データが損傷無く残っていたのでデータ流し込みは不要でした。

あっさり終わった

以上で作業は終了してしまいました。想像以上にさっくりと終わった。あらびっくり。

Spiderストレージエンジンもデフォルトでバンドルされているみたいだし、使い勝手よさそう。今後はMariaDB使って開発しよっと。

シャーディングを実現するSpiderストレージエンジン、MariaDBがバンドル開始 - Publickey

1件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください