« やる夫がcfengineを導入して管理の自動化を図るようです。 | トップページ | [shell] やる夫には、hosts書込み権限がありません。 »

2008-05-27

[mysql] やる夫が1台で複数のDBを管理しているようです。

インスタンスについて

データベースシステムのまとまりのことであり、データベースを起動・停止する単位を表します。検証環境にて世代管理をする場合や、リソースの有効活用で、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┬-/      |
  \     ` ̄'´     /

----------------------------------------

現場で使える MySQL (DB Magazine SELECTION)
Mysql
松信 嘉範
翔泳社翔泳社翔泳社
定価 : ¥ 2,730
2006-03-17
amazonで詳しく見る

|

« やる夫がcfengineを導入して管理の自動化を図るようです。 | トップページ | [shell] やる夫には、hosts書込み権限がありません。 »

MySQL」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/488651/21218812

この記事へのトラックバック一覧です: [mysql] やる夫が1台で複数のDBを管理しているようです。:

« やる夫がcfengineを導入して管理の自動化を図るようです。 | トップページ | [shell] やる夫には、hosts書込み権限がありません。 »