1つのサーバ内でMySQLを複数起動させる設定




投稿日:

今回は、設定ファイルを変えることで、1つのサーバ内で2つのMySQLを起動させます。

ここではすでに1つ目がパッケージインストールされているものとして話を始めます。

設定内容

データディレクトリ /home/mysql2

データディレクトリ作成

# mkdir -p /home/mysql2
# chown -R mysql:mysql /home/mysql2

設定ファイルの準備

cp -rp /etc/my.cnf /etc/my2.cnf
# vi /etc/my2.cnf

最低限こんな感じです。

[mysqld]
datadir=/home/mysql2
socket=/tmp/mysql2.sock
port=3307
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mysqld2.log
pid-file=/var/run/mysqld/mysqld2.pid
datadir=/home/mysql2

[client]
socket=/tmp/mysql_2.sock
port=3307

ここまでで、設定完了。

テーブルの作成

# /usr/bin/mysql_install_db --datadir=/home/mysql2 --user=mysql

起動

# /usr/bin/mysqld_safe --defaults-file=/etc/my2.cnf &

ログインはsockを指定

# /usr/bin/mysql --socket=/tmp/mysql_2.sock -u root -p

停止・終了

# /usr/bin/mysqladmin --defaults-file=/etc/my2.cnf -u root shutdown -p

起動停止は、もちろん2つ目用の起動スクリプトを作成してあげることで可能です。

以上。