MySQL を CentOS 6 にソースコードからインストールする手順
[履歴] [最終更新] (2015/06/01 10:24:55)
最近の投稿
注目の記事

ダウンロード

無償で利用できる MySQL Community Server を入手します。こちらのページにアクセスします。「Generally Available (GA) Releases」→「Select Platform: Source Code」→「Generic Linux (Architecture Independent), Compressed TAR Archive」と選択して Download します。登録画面は「No thanks, just start my download.」でスキップできます。

インストール

必要なソフトウェアのインストール

$ sudo yum install gcc-c++ make cmake ncurses-devel perl

解凍

$ tar zxvf mysql-5.6.25.tar.gz
$ sudo mv mysql-5.6.25 /usr/local/src/

ビルド

root で作業します。

# cd /usr/local/src/mysql-5.6.25

Makefile を作成します。

# cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql-5.6.25 \
-DDEFAULT_CHARSET=utf8 \
-DWITH_EXTRA_CHARSETS=all \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_PIC=1

ビルドおよびインストールします。

# make
# make install

インストールされました。

# /usr/local/mysql-5.6.25/bin/mysql --version
/usr/local/mysql-5.6.25/bin/mysql  Ver 14.14 Distrib 5.6.25, for Linux (x86_64) using  EditLine wrapper

初期設定

mysql ユーザの作成

過去に yum で mysql の RPM をインストールした場合などは既に作成されています。

$ id mysql
uid=501(mysql) gid=501(mysql) groups=501(mysql)

存在しない場合は以下のコマンドで作成します。ログインできないようにホームディレクトリは作成せず (-s /sbin/nologin) パスワードも設定しません (-M):

$ sudo groupadd mysql
$ sudo useradd -M -s /sbin/nologin -g mysql mysql

各種ファイルの作成

$ sudo /usr/local/mysql-5.6.25/scripts/mysql_install_db \
--user=mysql \
--basedir=/usr/local/mysql-5.6.25 \
--datadir=/usr/local/mysql-5.6.25/data

/etc/my.cnf の作成 (既に存在する場合は編集)

[mysqld]
user=mysql
datadir=/usr/local/mysql-5.6.25/data
socket=/tmp/mysql.sock

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[mysql]
socket=/tmp/mysql.sock

自動起動の設定

$ sudo cp /usr/local/mysql-5.6.25/support-files/mysql.server /etc/init.d/mysqld
$ sudo chmod +x /etc/init.d/mysqld
$ sudo chkconfig --add mysqld
$ sudo chkconfig mysqld on

サービスの起動

$ sudo service mysqld start

Test データベースなどの削除

$ cd /usr/local/mysql-5.6.25
$ sudo ./bin/mysql_secure_installation

パスの設定

$ echo 'export PATH=/usr/local/mysql-5.6.25/bin:$PATH' >> ~/.bashrc
$ source ~/.bashrc

動作検証

$ mysql -uroot
関連ページ
    概要 MySQL の InnoDB ストレージエンジンに直接 memcached プロトコルで高速にアクセスするためのプラグインが存在します。仕組みはこちらで紹介した MySQL HandlerSocket Plugin と似ています。図解した公式ページはこちらです。MySQL 5.6 を対象として簡単に使い方をまとめます。
    概要 HandlerSocket は MySQL プロセス内のスレッドとして動作する、MySQL の NoSQL フロントエンドです。独自のプロトコルを用いて TCP 通信を行います。SQL 構文の解析が不要、プロトコルがシンプルなどの理由によって、単純な DB アクセスが高速に実行可能になります。MariaDB であれば