MySQLと同じ親から生まれたデータベース
MariaDBは、MySQLのオリジナルコード作者であるMichael "Monty" Widenius氏が立ち上げたプロジェクトによって開発されているオープンソースのデータベースです。MySQLのブランチに相当し、MySQLのソースコードをベースにいくつかの機能を追加する形でリリースされています。
MariaDB誕生のきっかけは、当時のサン・マイクロシステムズ社によるMySQL Ab社の買収です。Widenius氏は開発指針の相違などから2009年にサン・マイクロシステムズ社を退社し、Monty Program Ab社を立ち上げてMariaDBの開発を開始しました。Monty Program Ab社には、Monty氏をはじめとするMySQL Ab社出身の技術者が複数名在籍しています。
MySQLの『My』は英単語ではなくWidenius氏の娘の名前から取られたものですが、MariaDBの『Maria』も同じです。生みの親が同じでソースコードのベースも同じという両者はまさに姉妹と呼べるデータベースです。
MariaDBの特徴
・MySQLのソースコードをベースにいくつかの機能を追加
・MySQLの不具合修正を定期的に反映
・MySQLとの高い後方互換性を持つ
・マルチプラットフォーム (Linux、Windows、Solaris、MacOS X)
・コミュニティ版(GPL v2)のみ
2012年8月現在、最新のバージョンはMariaDB 5.5です。MySQLのブランチであるという性質上、MySQLの最新バージョンを後から追いかける形でリリースされています。例えば、MySQL 5.5がリリースされたのは2010年の12月ですが、MariaDB 5.5は2012年の4月であり、1年半近くの差があります。
MySQLのバージョン | MariaDBのバージョン |
5.1 | 5.1 |
5.2 | |
5.3 | |
5.5 | 5.5 |
MySQLとMariaDBの互換性は非常に高く、データや表定義ファイルなどはそのまま移行して使うことができます。クライアントAPIやプロトコルも同じで、インストールした際のファイル名、ファイルパスも非常によく似ています。
第3回(最終回)となる今回は、MariaDBのインストール、初期設定方法について解説します。
MariaDBのインストール方法
MariaDBに関する情報は、Monty Program Ab社が中心となって運営しているAskMonty.orgに集約されており、ナレッジベースの検索やMariaDBのダウンロードが行えるようになっています。
『MariaDB Downloads』のアイコンをクリックすると、MariaDBのバージョンを選択する画面が表示されます。今回は最新のMariaDB 5.5をダウンロードします。
ダウンロード可能なファイルの一覧が表示されたら、画面右側のチェックボックスからOSとパッケージタイプを選択します。今回はLinux 64bit環境にインストールを行うので、『Generic Linux』のチェックボックスを選択し、tar.gzファイルをダウンロードします。
ユーザ情報を入力する画面が表示されます。全ての情報を入力して『Submit & continue to download』をクリックするか、何も情報を入力せず『No thanks, just take me to the download』をクリックするとダウンロードが開始されます。
ダウンロードが完了したら、MariaDBのインストールを開始します。インストール方法はMySQLとほとんど同じです。まず、rootユーザでMariaDB用のグループとユーザを作成します。グループ名、ユーザ名ともに何でも構いませんが、今回はMySQLと同じく”mysql”という名前にします。もちろん”mariadb”という名前でも構いません。
rootユーザで実行
# groupadd mysql
# useradd -g mysql mysql
ユーザの作成が完了したら、ダウンロードしたtar.gzのバイナリをインストール先となるディレクトリに移動して展開します。今回は/usr/localをインストール先とします。
rootユーザで実行
# mv mariadb-5.5.25-linux-x86_64.tar.gz /usr/local
# cd /usr/local
# tar xvfz mariadb-5.5.25-linux-x86_64.tar.gz
mariadb-5.5.25-linux-x86_64/INSTALL-BINARY
mariadb-5.5.25-linux-x86_64/support-files/SELinux/RHEL4/mysql.te
mariadb-5.5.25-linux-x86_64/support-files/SELinux/RHEL4/mysql.fc
...中略...
mariadb-5.5.25-linux-x86_64/INSTALL-BINARY
mariadb-5.5.25-linux-x86_64/support-files/SELinux/RHEL4/mysql.te
mariadb-5.5.25-linux-x86_64/support-files/SELinux/RHEL4/mysql.fc
tar.gzファイルを展開すると、mariadb-<バージョン>-<OS>というディレクトリが生成されます。
rootユーザで実行
# ls -lt
drwxr-xr-x 13 root root 4096 7月 24 19:09 mariadb-5.5.25-linux-x86_64
MySQLと同じくシンボリック・リンクを作成してシンプルな名前をつけておくと、モジュールの入れ替えが簡単に行えます。
rootユーザで実行
# ln -sf mariadb-5.5.25-linux-x86_64 mysql
# ls -lt
lrwxrwxrwx 1 root root 27 7月 24 19:22 mysql -> mariadb-5.5.25-linux-x86_64
これで/usr/local/mysqlにMariaDBがインストールされました。MySQLとMariaDBのディレクトリ構造を比較してみましょう。
MySQLのディレクトリ構造 | MariaDBのディレクトリ構造 |
# cd /usr/local/mysql # ls -1 COPYING INSTALL-BINARY README bin data docs include lib man mysql-test scripts share sql-bench support-files |
# cd /usr/local/mysql # ls -1 COPYING COPYING.LESSER INSTALL-BINARY README bin data docs include lib man mysql-test scripts share sql-bench support-files |
※青字がディレクトリ
両者を並べてみると、ディレクトリ構造が全く同じであることが分かります。MySQLでお馴染みのディレクトリがMariaDBにもそのまま存在しているため、一見どちらがMariaDBか区別できないほどです。それほどMySQLとMariaDBはよく似ています。
最後に、mysql_install_dbスクリプトを実行してデータベースを初期化し、システムテーブルを作成します。
rootユーザで実行
# cd /usr/local/mysql
# chown -R mysql .
# chgrp -R mysql .
# scripts/mysql_install_db --user=mysql
Installing MariaDB/MySQL system tables in './data' ...
OK
Filling help tables...
OK
To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system
PLEASE REMEMBER TO SET A PASSWORD FOR THE MariaDB root USER !
To do so, start the server, then issue the following commands:
./bin/mysqladmin -u root password 'new-password'
./bin/mysqladmin -u root -h testsrv password 'new-password'
Alternatively you can run:
./bin/mysql_secure_installation
which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.
See the MariaDB Knowledgebase at http://kb.askmonty.org or the
MySQL manual for more instructions.
You can start the MariaDB daemon with:
cd . ; ./bin/mysqld_safe --datadir=./data
You can test the MariaDB daemon with mysql-test-run.pl
cd ./mysql-test ; perl mysql-test-run.pl
Please report any problems with the ./bin/mysqlbug script!
The latest information about MariaDB is available at http://mariadb.org/.
You can find additional information about the MySQL part at:
http://dev.mysql.com
Support MariaDB development by buying support/new features from
Monty Program Ab. You can contact us about this at sales@montyprogram.com.
Alternatively consider joining our community based development effort:
http://kb.askmonty.org/en/contributing-to-the-mariadb-project/
# chown -R root .
# chown -R mysql data
これでMariaDBのインストールは終了です。