複数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

前の記事

CentOSにyumのインストール

次の記事

『Railsデプロイ』は良い本