SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

直近開催のイベントはこちら!

Security Online Day 2022

2022年9月16日(金)10:00~17:10

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けの講座「EnterpriseZine Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。

お申し込み受付中!

はじめましてMySQL!

MySQLと互換性をもつ『妹分』、MariaDBとは?


第3回目(最終回)となる今回は、MySQLと互換性を持つMariaDBについて解説します。

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の互換性
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のダウンロードが行えるようになっています。

AskMonty.orgのトップページ 
 AskMonty.orgのトップページ (maria1.png)

 『MariaDB Downloads』のアイコンをクリックすると、MariaDBのバージョンを選択する画面が表示されます。今回は最新のMariaDB 5.5をダウンロードします。

MariaDBのバージョン選択画面 
 MariaDBのバージョン選択画面 (maria2.png)

 ダウンロード可能なファイルの一覧が表示されたら、画面右側のチェックボックスからOSとパッケージタイプを選択します。今回はLinux 64bit環境にインストールを行うので、『Generic Linux』のチェックボックスを選択し、tar.gzファイルをダウンロードします。

MariaDB 5.5のダウンロード画面
 MariaDB 5.5のダウンロード画面 (maria3.png)

 ユーザ情報を入力する画面が表示されます。全ての情報を入力して『Submit & continue to download』をクリックするか、何も情報を入力せず『No thanks, just take me to the download』をクリックするとダウンロードが開始されます。

ユーザ情報入力画面
 ユーザ情報入力画面(maria4.png)

 ダウンロードが完了したら、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のインストールは終了です。

次のページ
MariaDBの初期設定方法

この記事は参考になりましたか?

  • Facebook
  • Twitter
  • Pocket
  • note
はじめましてMySQL!連載記事一覧

もっと読む

この記事の著者

岸和田 隆(キシワダ タカシ)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

関 俊洋(セキ トシヒロ)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

EnterpriseZine(エンタープライズジン)
https://enterprisezine.jp/article/detail/4220 2012/09/24 13:04

Job Board

PR

おすすめ

アクセスランキング

アクセスランキング

イベント

EnterpriseZine(エンタープライズジン)編集部では、情報システム担当、セキュリティ担当の方々向けに、EnterpriseZine Day、Security Online Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。

2022年9月16日(金)10:00~17:10

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング