複数MySQLのセットアップ備忘メモ
CentOSにてパッケージインストールのMySQLを元に。
割とやっつけ。
手順は以下の通り。
- /etc/my2.cnfを準備
- データディレクトリの準備
- 起動スクリプトのコピーと編集
- 自動起動の設定
/etc/my2.cnfを準備
テキトーに。
以下の項目は起動スクリプトで使われるので必須。
- datadir
- socket
- log-error
- pid-file
あとportとかもかぶらないように。
データディレクトリの準備
テキトーに。
起動スクリプトのコピーと編集
$ sudo cp /etc/init.d/mysqld /etc/init.d/mysqld_2
$ sudo vi /etc/init.d/mysqld_2
やっつけ感ただようファイル名。
ヘッダ行とかの書き換え
mysqlをmysql_2にするとかてけとうに。
# mysqld_2 This shell script takes care of starting and stopping
# the MySQL subsystem (mysqld).
#
# chkconfig: - 64 36# description: MySQL database server.
# processname: mysqld_2
# config: /etc/my2.cnf
# pidfile: /var/run/mysqld/mysqld_2.pid
prog="MySQL_2"
get_mysql_option関数の変更
my_print_defaultsコマンドに与える引数に設定ファイルを指定するオプションを追加する。
result=`/usr/bin/my_print_defaults -c /etc/my2.cnf "$1" | sed -n "s/^--$2=//p" | tail -n 1`
mysqld_safeの実行行
オプションは全部設定ファイルで与えることにして、他のオプションは全部削除。
/usr/bin/mysqld_safe --defaults-file=/etc/my2.cnf >/dev/null 2>&1 &
ここまでやると以下のようにして起動できるようになる。
$ sudo /etc/init.d/mysqld_2 start
psコマンドなどできちんと起動しているかどうか確認できればオッケー。
自動起動設定
仕上げ
$ sudo /sbin/chkconfig --add mysqld_2
$ sudo /sbin/chkconfig mysqld_2 on