3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS 6.3 に MariaDB をインストール

Posted at

参考サイト:MySQLのビルドに欠かせないCMakeを準備する
参考サイト:CMakeでMySQLをビルドしてみる

概要

先日、Fedora 19からはMySQLに代わりMariaDBを標準に採用というニュースが出た。

以前からMariaDBの存在は知っていたけど、ここまで大事になるとは思っていませんでした。
どんなものか知るためにまずはインストール。

インストールの方針

  • MariaDB用のアカウント(mariadb:MariaDB)を作成する。
  • インストール先は/opt/mariaDB配下とする。
  • データベースの出力先も/opt/mariaDB/data 配下とする。
  • pacoにてインストール時に配置したソフトを管理する。

準備

CMakeインストール

インストールにはCMakeが必要になる。
MySQLのビルドに欠かせないCMakeを準備するを参考にインストールしてください。

システムアカウントの作成

システムアカウントの作成
groupadd -r MariaDB
useradd -r -g MariaDB -d /opt/mariaDB -s /sbin/nologin mariadb
mkdir /opt/mariaDB
chown mariadb:MariaDB /opt/mariaDB

インストール

まずは公式サイトからソースをダウンロードしてくる
そこから以下コマンドを実行する

ソースのコンパイル準備
tar xzf mariadb-5.5.29.tar.gz
cd mariadb-5.5.29
cmake .

make、make installに進む前に出力先等のカスタマイズを行う。
(configure みたいに引数を渡すのではなく、後からカスタマイズする)

主なカスタマイズポイントは以下のとおり。

  • インストールディレクトリの変更
  • データベースのデータ格納先の変更
  • かっちょ悪いので mysql を MariaDB に書き換えた

もしここでエラーが出た場合、おそらくインストールしていないパッケージがあるのか疑ってみる。
(ncurses-devel とか libaio-devel とか・・・)

編集コマンド
vi CMakeCache.txt
CMakeCache.txt
...
//install prefix
//CMAKE_INSTALL_PREFIX:PATH=/usr/local/mysql
CMAKE_INSTALL_PREFIX:PATH=/opt/mariaDB
...
//Value Computed by CMake
//CMAKE_PROJECT_NAME:STATIC=MySQL
CMAKE_PROJECT_NAME:STATIC=MariaDB
...
//UNIX_ADDR installation directory
//INSTALL_UNIX_ADDRDIR:STRING=/tmp/mysql.sock
INSTALL_UNIX_ADDRDIR:STRING=/tmp/mariadb.sock
...
//INCLUDE installation directory
//INSTALL_INCLUDEDIR:STRING=include/mysql
INSTALL_INCLUDEDIR:STRING=include/mariadb
...
//MYSQLTEST installation directory
//INSTALL_MYSQLTESTDIR:STRING=mysql-test
INSTALL_MYSQLTESTDIR:STRING=mariadb-test
...
//default MySQL data directory
//MYSQL_DATADIR:PATH=/usr/local/mysql/data
MYSQL_DATADIR:PATH=/opt/mariaDB/data
...
//MySQL project name
//MYSQL_PROJECT_NAME:STRING=MySQL
MYSQL_PROJECT_NAME:STRING=MariaDB
...

コンパイル

makeコマンド
make VERBOSE=1 2>&1 | tee make_log.txt
...
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc: In member function ‘int MYSQL_BIN_LOG::write_cache(THD*, IO_CACHE*)’:
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5541: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5543: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5547: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5549: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5565: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5601: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5625: 警告: dereferencing type-punned pointer will break strict-aliasing rules
/usr/local/src/mariaDB/mariadb-5.5.29/sql/log.cc:5665: 警告: dereferencing type-punned pointer will break strict-aliasing rules
...

(補足 VERBOSE=1 が無い場合、makeコマンドの表示がなくなる。)

このコンパイルのログを見て、「コンパイル時に1行も警告を出さない。」との触れ込みだったが、やっぱり警告無しは難しいヨネ。
それでも出てる警告の種類はdereferencing type-punned~だけっぽく、結構すごい。

インストール

インストール
sudo paco -D make install

動作確認

動作確認
$ /opt/mariaDB/bin/mysql --version
/opt/mariaDB/bin/mysql  Ver 15.1 Distrib 5.5.29-MariaDB, for Linux (i686) using readline 5.1

コマンドがmysqlですか。
ここまで互換しているんですね。。。このままのコマンドだと、mysqlばっかっりコマンドを打ってるから、
MySQLを触ってるもんだと勘違いする人もいそう。
とりあえずインストールはこれでたぶん完了。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?