前回はApacheだったが、今回は1台のサーバに複数のMySQL5.0をインストールするメモ。
「Source downloads」から「Compressed GNU TAR archive」をダウンロード。
■今回の環境
以下の環境を想定して解説する。
サーバ:CentOS 5
ビット:64bit
MySQLインストールディレクトリ:/home/hoge/mysql
ポート番号:1235
■MySQLインストール
# su - hoge
# wget http://hoge.hoge.hoge/hoge/mysql-5.0.51a.tar.gz
# tar -xvzf mysql-5.0.51a.tar.gz
# cd mysql-5.0.51a
# ./configure --prefix=/home/hoge/mysql \
--with-mysqld-user=hoge \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-tcp-port=1235
...
checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for tgetent in -ltinfo... no
checking for termcap functions library... configure: error: No curses/termcap library found
上記のようなエラーが発生。
どうやらcursesとかいうものが指定されていないっぽい。これも64bitだからか?
configureのhelpを見たら「with-named-curses-libs」なるものが。
試しにオプションつけて再度実行。
# ./configure --prefix=/home/hoge/mysql \
--with-mysqld-user=hoge \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-tcp-port=1235 \
--with-named-curses-libs=/usr/lib64/libncurses.so.5
# make
# make install
正常にいった。
my-medium.cnfをコピーする。
# cp /home/hoge/mysql-5.0.51a/support-files/my-medium.cnf /home/hoge/mysql/my.cnf
my.cnfを編集する。まずmysql.sockのパスが重複しそうなので変更する。
(修正前) socket = /tmp/mysql.sock
(修正後) socket = /home/hoge/mysql/mysql.sock
ポート番号もconfigure時に設定した値になっているか確認する。
■mysql_install_db
データベースの初期化を行なう。
# cd /home/hoge/mysql-5.0.51a/scripts
# ./mysql_install_db --user=hoge --datadir=/home/hoge/mysql/data
■MySQL起動、動作チェック
デフォルトのmy.cnfを読み込まないようmysqld_safeのオプションで指定する。
# ./mysqld_safe --defaults-file=/home/hoge/mysql/my.cnf \
--pid-file=/home/hoge/mysql/mysqld.pid \
--log-error=/home/hoge/mysql/log/mysqld.log &
ポート番号とmysql.sockを指定してログインする。
念のため、/home/hoge/mysql/bin以下のmysqlを使用した方がよいかもね。
# /home/hoge/mysql/bin/mysql -u root -P1235 --socket=/home/hoge/mysql/mysql.sock