インスタンスについて
データベースシステムのまとまりのことであり、データベースを起動・停止する単位を表します。検証環境にて世代管理をする場合や、リソースの有効活用で、1台のDBにいくつもDBを構築したりすると思います。
複数のDBを管理する
やる夫は、試験環境MySQL-DBを構築していて、1台のサーバ内で、複数のインスタンス構成を取り、世代管理運用をしていました。yaruoシステムがver2.0にアップするため、ver2.0検証用のDBを作成することになりました。今回はver1.5を削除して、ver2.0用のDBを構築する手順を記すことにします。
____
/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ 試験環境DBはインスタンス毎で管理するお
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
# ps axuw | grep mysql
mysql 9228 0.0 0.2 263768 17820 ? Sl Apr23 6:51 /usr/sbin/mysqld
mysql 9395 0.0 3.4 1656920 283764 ? Sl Apr23 1:26 /usr/sbin/mysqld --defaults-group-suffix=_yaruo_s
mysql 9322 0.0 2.3 2043012 195480 ? Sl Apr02 1:52 /usr/sbin/mysqld --defaults-group-suffix=_yaruo_ver1_5_m
mysql 9914 0.0 7.1 5398488 580780 ? Sl Apr23 1:47 /usr/sbin/mysqld --defaults-group-suffix=_yaruo_ver1_6_m
root 12430 0.0 0.0 53268 804 pts/0 S+ 14:29 0:00 grep mysql
# /usr/bin/mysqladmin shutdown -S /var/lib/mysql/yaruto_ver1_5.sock
# ps axuw | grep mysql
mysql 9228 0.0 0.2 263768 17820 ? Sl Apr23 6:51 /usr/sbin/mysqld
mysql 9395 0.0 3.4 1656920 283764 ? Sl Apr23 1:26 /usr/sbin/mysqld --defaults-group-suffix=_yaruo_s
mysql 9914 0.0 7.1 5398488 580780 ? Sl Apr23 1:47 /usr/sbin/mysqld --defaults-group-suffix=_yaruo_ver1_6_m
root 12430 0.0 0.0 53268 804 pts/0 S+ 14:29 0:00 grep mysql
バージョンが変わるので、ディレクトリ管理しやすいように変えてしまいます。1からDBを構築する場合は、dataディレクトリを削除してしまいます。
# cd /usr/local/yaruo/data
# ls
mysql yaruo_ver1_5 yaruo_ver1_6 work
# mv yaruo_ver1_5 yaruo_ver2_0
# cd yaruo_ver2_0
binlog ibdata iblogs logs mysql relays test tmp yaruo_db
# rm -rf yaruo_db
ディレクトリ名がver2_0に変わるので、ver1_5記載箇所をver2_0に変える必要があります。 viで手で変更しても可ですが、sed使う方が楽です。diffで変更点を確認してみて下さい。
# cd ../mysql
# sed 's/ver1_5/ver2_0/g' yaruo_ver1_5_my.cnf > yaruo_ver2_0_my.cnf
# diff yaruo_ver2_0_my.con yaruo_ver1_5_my.cnf
# chown mysql:mysql yaruo_ver2_0_my.cnf
インスタンスについては、親のmy.cnfからincludeさせているので、こちらの修正も必要です。
# vi my.cnf
-----
- /usr/local/yaruo/data/mysql/ yaruo_ver1_5_my.cnf
+ /usr/local/yaruo/data/mysql/ yaruo_ver2_0_my.cnf
-----
起動してみます。
# /usr/sbin/mysqld --defaults-group-suffix=_yaruo_ver2_0_m &
[1] 31886
#
[1]+ Exit 1 /usr/sbin/mysqld --defaults-group-suffix=_yaruo_ver2_0_m
失敗・・・。エラーログを確認します。
___
/ \
/ノ \ u. \ !?
/ (●) (●) \ おっお・・・
| (__人__) u. |
\ u.` ⌒´ / またMySQLが立ち上がらないお
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
やる夫が困ってます。何とかしてあげましょう・・・。
# tail -f /usr/local/yaruo/data/yaruo_ver2_0/logs/yaruo_ver2_0_m.errorlog
080527 15:31:58 InnoDB: Started; log sequence number 0 130390540
/usr/sbin/mysqld: File '/usr/local/yaruo/data/yaruo_ver2_0/binlog/yaruo_db1_m.000001' not found (Errcode: 2)
080527 15:31:58 [ERROR] Failed to open log (file '/usr/local/yaruo/data/yaruo_ver2_0/binlog/yaruo_db1_m.000001', errno 2)
080527 15:31:58 [ERROR] Could not open log file
080527 15:31:58 [ERROR] Can't init tc log
080527 15:31:58 [ERROR] Aborting
080527 15:31:58 InnoDB: Starting shutdown...
080527 15:32:00 InnoDB: Shutdown completed; log sequence number 0 130390540
080527 15:32:00 [Note] /usr/sbin/mysqld: Shutdown complete
どうもver1.5時のデータが残っているのが原因らしいですね。なので、ログを全て削除してしまいます。
# /usr/sbin/mysqld --defaults-group-suffix=_yaruo_ver2_0_m &
[1] 1219
# ps axuw | grep mysql
mysql 9228 0.0 0.2 263768 17820 ? Sl Apr23 6:51 /usr/sbin/mysqld
mysql 9395 0.0 3.4 1656920 283764 ? Sl Apr23 1:26 /usr/sbin/mysqld --defaults-group-suffix=_yaruo_s
mysql 9914 0.0 7.1 5398488 580780 ? Sl Apr23 1:47 /usr/sbin/mysqld --defaults-group-suffix=_yaruo_ver1_6_m
mysql 9322 0.0 2.3 2043012 195480 ? Sl Apr02 1:52 /usr/sbin/mysqld --defaults-group-suffix=_yaruo_ver2_0_m
root 12430 0.0 0.0 53268 804 pts/0 S+ 14:29 0:00 grep mysql
再度起動コマンドを実行指定見ます・・・。今回はうまく行ったようです。
___
/_ノ ヽ_\
/( >) (<)\
/::::::⌒(__人__)⌒::::: \ ね!かんたんだお
| |r┬-/ |
\ ` ̄'´ /
----------------------------------------