MySQL 5.6.14¶
Contents
コンパイル¶
#------------------------------------------------------------
# mysql 5.6.14
#------------------------------------------------------------
############################################################
# OSによってパターンが変わります
############################################################
# 管理者権限で実行
su - # case by CentOS
sudo su # case by ubuntu
############################################################
# 以降の手順は基本的に同じです。
############################################################
# ソースダウンロード先
comp_dir=/usr/local/src
# パッケージ名
pack_name=mysql
# バージョン
version=-5.6.14
# ソースのファイル形式
ext=.tar.gz
# tar解凍時のオプション
ext_opt=z
# インストール先ディレクトリ
ins_dir=/opt/${pack_name}${version}
# ダウンロード元パッケージ
dl_uri='http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14.tar.gz/from/http://cdn.mysql.com/'
# CPU数
proc=`grep processor /proc/cpuinfo | wc -l`
cd ${comp_dir}
rm -rf ${pack_name}${version}
# すでに必要なソースが用意されている場合は必要ありません。
wget ${dl_uri} -O ${pack_name}${version}${ext}
tar ${ext_opt}xf ${pack_name}${version}${ext}
cd ${comp_dir}/${pack_name}${version}
cmake . \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DCMAKE_INSTALL_PREFIX=${ins_dir} \
-DWITH_EXTRA_CHARSETS="complex" \
-DMYSQL_UNIX_ADDR=${ins_dir}/data/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DENABLE_DOWNLOADS=1 \
-DCURSES_LIBRARY=/opt/ncurses-5.9/lib/libncurses.so \
-DCURSES_INCLUDE_PATH=/opt/ncurses-5.9/include/ \
&& make -j ${proc}
make install
Pathの設定¶
test -r ~/bin || mkdir -p ~/bin
for cmd in /opt/${pack_name}${version}/*bin/*
do
cmd_name=`basename $cmd`
test -f ~/bin/$cmd_name && \rm -f ~/bin/$cmd_name
ln -s $cmd ~/bin/$cmd_name
echo "ln -s $cmd ~/bin/$cmd_name"
done
ユーザの作成¶
MySQLを動作させるためのユーザを作成します。
セキュリティのため、DBは基本的にrootで設定しません。
ここではよく使われる
mysql
ユーザをシステムユーザとして作成します。useradd -r mysql
ディレクトリの作成¶
install時点でほとんどのディレクトリは作成されますし、設定ファイル次第で必要ありませんが、RPMに近いディレクトリ構造を再現します。
namedのchroot環境を想定すると運用しやすいです。
# ディレクトリの移動
cd ${ins_dir}
# 必須ディレクトリの作成
mkdir -p ./var/{tmp,lib,log}
mkdir -p ./var/lib/mysql/data
mkdir ./etc
設定ファイルの編集¶
通常とはだいぶ異なる運用を想定していますので設定ファイルの編集が必須になってきます。
# 設定ファイル作成
cp ./support-files/my-default.cnf ./etc/my.cnf
# 設定ファイル編集
vim ./etc/my.cnf
my.cnf 編集内容¶
警告
ここでは変数が使えませんのでPATHは適宜設定してください
--- ./support-files/my-default.cnf 2013-11-06 01:47:20.000000000 +0900
+++ ./etc/my.cnf 2013-11-06 04:03:04.480093211 +0900
@@ -15,11 +15,14 @@
# log_bin
# These are commonly set, remove the # and set as required.
-# basedir = .....
-# datadir = .....
-# port = .....
-# server_id = .....
-# socket = .....
+user = mysql
+basedir = /opt/mysql-5.6.14
+datadir = /opt/mysql-5.6.14/var/lib/mysql/data
+port = 3306
+server_id = 1
+socket = /opt/mysql-5.6.14/var/tmp/mysqld.sock
+log-error = /opt/mysql-5.6.14/var/log/mysqld.err
+pid-file = /opt/mysql-5.6.14/var/tmp/mysqld.pid
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
パーミッションの設定¶
# 権限変更
chown -R mysql.mysql ${ins_dir}