Serversman@VPSでMySQLを動かす

サーバー構築

MySQL用のユーザとグループを作成する。

# /usr/sbin/groupadd -g 202 mysql
# /usr/sbin/useradd -u 202 -g 202 -s /sbin/nologin mysql

MySQL用のデータ保存領域を作成する。

# mkdir /data/mysql

MySQLのコンパイル&インストール。
/usr/local/mysqlにインストールする。

$ wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.50.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/
$ tar xvzf mysql-5.1.50.tar.gz
$ cd mysql-5.1.50
$ ./configure --prefix=/usr/local/mysql --localstatedir=/data/mysql --with-charset=ujis --with-extra-charsets=all --with-mysqld-user=mysql
$ make
# paco -D make install

MySQLの設定ファイルをテンプレートからコピーして編集する。
とりあえず一か所のみ変更した。

# cp support-files/my-medium.cnf /etc/my.cnf

/etc/my.cnf

#skip-locking
skip-external-locking

権限テーブルを初期化するとデータベースファイルが作成される。

# /usr/local/mysql/bin/mysql_install_db --user=mysql
# ls -al /data/mysql/
total 752
drwx------ 4 mysql root    4096 Sep 24 19:49 .
drwxr-xr-x 3 root  root    4096 Sep 24 19:49 ..
drwx------ 2 mysql root    4096 Sep 24 19:49 mysql
-rw-rw---- 1 mysql mysql  19095 Sep 24 19:49 mysql-bin.000001
-rw-rw---- 1 mysql mysql 723139 Sep 24 19:49 mysql-bin.000002
-rw-rw---- 1 mysql mysql     38 Sep 24 19:49 mysql-bin.index
drwx------ 2 mysql root    4096 Sep 24 19:49 test

起動スクリプトをテンプレートからコピーして編集する。

# cp support-files/mysql.server /etc/init.d/mysql
# chmod 755 /etc/init.d/mysql
# /sbin/chkconfig --add mysql
# /sbin/chkconfig --list |grep mysql
mysql           0:off   1:off   2:on    3:on    4:on    5:on    6:off

起動確認。

# /sbin/service mysql start
Starting MySQL. SUCCESS!

# ps aux |grep sql
root     10144  0.1  0.2   3700  1304 pts/0    S    19:56   0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/dti-vps-srv20.pid
mysql    11298  0.0  0.9  36136  5232 pts/0    Sl   19:56   0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --user=mysql --log-error=/data/mysql/dti-vps-srv20.err --pid-file=/data/mysql/dti-vps-srv20.pid --socket=/tmp/mysql.sock --port=3306

# netstat -an |less
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN

Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     574871160 /tmp/mysql.sock

ログも確認しておく。
ここで[Warning]が出ているので/etc/my.cnfにて対応する。(上の説明を参照)

# tail -f /data/mysql/bruna.err
100924 19:56:48 mysqld_safe Starting mysqld daemon with databases from /data/mysql
100924 19:56:48 [Warning] '--skip-locking' is deprecated and will be removed in a future release. Please use '--skip-external-locking' instead.
100924 19:56:48 [Note] Event Scheduler: Loaded 0 events
100924 19:56:48 [Note] /usr/local/mysql/libexec/mysqld: ready for connections.
Version: '5.1.50-log'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution

【エラー情報1】
configureで下記のエラーが出た場合はncurses-develがないのでインストールしておく。

checking for termcap functions library... configure: error: No curses/termcap library found