あいつの日誌β

働きながら旅しています。

MySQL: mysql-build で MySQL をインストール

mysql-build で MySQL をインストール

mysql-build は root権限のみが実行するという前提でインストール

環境

# cat /etc/redhat-release 
CentOS release 6.3 (Final)

やってみる

% sudo su
# cd 
# git clone git://github.com/kamipo/mysql-build.git
# echo 'export PATH="$HOME/mysql-build/bin:$PATH"' >> ~/.bashrc
# exec $SHELL

mysql client は 全ユーザーが使うようにするので専用のディレクトリを作成する

mkdir -p /mysqls
mysql-build -v 5.1.70 /mysqls/5.1.70

使用するディレクトリを作成

# mkdir -p /mysqls/5.1.70/var/log
# mkdir -p /mysqls/5.1.70/var/lib/mysql
# mkdir -p /mysqls/5.1.70/var/run/mysqld
# mkdir -p /mysqls/5.1.70/etc

設定ファイルを以下となるように準備(以下は一例)

# cat /mysqls/5.1.70/etc/my.cnf
[client]
port=3306
socket=/mysqls/5.1.70/var/lib/mysql/mysql.sock

[mysqld]
datadir=/mysqls/5.1.70/var/lib/mysql
socket=/mysqls/5.1.70/var/lib/mysql/mysql.sock
user=mysql

symbolic-links=0
log=/mysqls/5.1.70/logs/query.log

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

以下コマンドを実行。 --log は deprecated とか言われるけどあんまり気にしない事にする

# /mysqls/5.1.70/bin/mysql_install_db

サーバーを起動する

# /mysqls/5.1.70/share/mysql/mysql.server start

全ユーザーが mysql 5.1.70 を使う様にする

# echo 'export PATH=/mysqls/5.1.70/bin:$PATH' >> /etc/profile.d/mysql.sh

一般ユーザーでmysqlを使ってみる

% which mysql

/mysqls/5.1.70/bin/mysql
mysql -u root -e 'select version()'
+------------+
| version()  |
+------------+
| 5.1.70-log |
+------------+

最後にサーバーを停止する

# /mysqls/5.1.70/share/mysql/mysql.server stop

そしてパスが長いので以下のようにしておく

# cat /root/.bashr
...
export PATH="$HOME/mysql-build/bin:/mysqls/5.1.70/share/mysql:$PATH"