にゃんこうけ | src | ブログ | コンタクト | 統計 | 御串 | 小束 | 裏ミク | つ痛 | 顔本 |

10年ぶりに部屋に入るとコウモリや猫の巣窟だった

MySQL AB :: 世界でもっとも普及している、オープン ソース データベース

2007-09-04 16:47:15 JST-9 | akebia | MySQL | コメント | トラックバック | 履歴

マスタ: 5.0.32-Debian_7etch8-log Debian etch distribution
スレーブ: 5.0.67-community-nt MySQL Community Edition (GPL)

  1. マスタのmy.cnfにserver-idとlog-binを設定し、マスタのmysqldを再起動する。
    server-id = 1
    log-bin = /var/log/mysql/mysql-bin.log
  2. マスタに接続してレプリケーション用のユーザを作成する。
    GRANT REPLICATION SLAVE ON *.* TO repl@slave IDENTIFIED BY 'password';
  3. マスタの全てのテーブルをフラッシュし、更新をブロックし、マスタのバイナリログ名(File)とオフセット値(Position)を控えて、更新がブロックされた状態のまま、mysqldを停止させる。
    FLUSH TABLES WITH READ LOCK;
    SHOW MASTER STATUS;
    +------------------+----------+-
    | File             | Position |
    +------------------+----------+-
    | mysql-bin.000546 |      508 |
    +------------------+----------+-

    ここで、mysqlクライアントを終了させずに別ターミナル等からmysqldを停止させる。

  4. スレーブのmysqldを停止させ、スレーブのdatadirの中身を全部削除して、そこにマスタのdatadirの中身を全部コピーしてから、マスタのmysqldを開始させる。ただし、innodbを使っている場合、ib_logfile~については、その大きさがinnodb_log_file_sizeで指定したのと異なっているとエラーになるようなのでコピーしない方がよい。
  5. スレーブのmy.cnfにserver-idとrelay-logを設定し、スレーブのmysqldを開始させる。マスタでinnodbを使っている場合には、スレーブのmy.cnfのskip-innodbをコメントアウトしておく。collation-serverやcharacter-set-serverがマスタと違う場合にはマスタと同じになるように修正しておく。
    server-id = 2
    relay-log = relay-bin
    #skip-innodb 
    #character-set-server = latin1
    #collation-server = latin1_general_ci
  6. スレーブに接続して、マスタの情報を設定し、レプリケーションを開始させ、動作状況を確認する。
    CHANGE MASTER TO
    MASTER_HOST='master',
    MASTER_USER='repl',
    MASTER_PASSWORD='password',
    MASTER_LOG_FILE='mysql-bin.000546',
    MASTER_LOG_POS=508;
    START SLAVE;
    SHOW SLAVE STATUS\G
    *************************** 1. row ***************************
                 Slave_IO_State: Waiting for master to send event
                    Master_Host: master
                    Master_User: repl
                    Master_Port: 3306
                  Connect_Retry: 60
                Master_Log_File: mysql-bin.000547
            Read_Master_Log_Pos: 4218
                 Relay_Log_File: relay-bin.000009
                  Relay_Log_Pos: 1452
          Relay_Master_Log_File: mysql-bin.000547
               Slave_IO_Running: Yes
              Slave_SQL_Running: Yes

    「Slave_IO_State」がもっともらしい状態を示していて、「Slave_IO_Running」と「Slave_SQL_Running」が「Yes」になっていれば、多分、レプリケーションは動作している。ログのファイル名(…_Log_File)やオフセット値(…_Log_Pos)はデータベースの更新により、「SHOW SLAVE STATUS」を実行するタイミングで違ってくる。エラーログも調べて、エラーや警告が出ていればそれに応じた処置をする。

一度、「CHANGE MASTER TO…」と「START SLAVE」を実行しておけば、mysqldを再起動しても次回から自動的にレプリケーションが開始されるみたいです。

XAMPPでMySqlの起動や停止の動作が怪しい時は、一旦、「mysqladmin -u root shutdown」としてmysqldを終わらせ、「mysqld --remove」でサービスの登録を削除し、「XAMPPコントロールパネルアプリケーション」を使って、MySqlサービスを登録するとうまく動作するようになるみたいです。その際、登録のはずが削除するかどうか聞いてきたりしてなんか変だけど、気にせず「OK」すれば登録されるみたいです。

スレーブを増やしたい時には、現在稼動中の適当なスレーブのmysqldを停止させ、そのdatadirとmy.confを新しいスレーブへコピーし、新しいスレーブのmy.confのserver-idを新しい番号に修正し、マスタに新しいスレーブのレプリケーション用のユーザを作成するとよいです。その時、新しいスレーブがリレーログのオープンに失敗する場合には、新しいスレーブのmysqldを停止させ、新しいスレーブのdatadir内のリレーログとrelay-log.infoを削除してから、新しいスレーブのmysqldを開始させるとよいみたいです。

人気ブログランキングへ MyMiniCity WebMoney ぷちカンパ

Comments

No comments yet

Add Comment



Trackback

このトラックバックURL(右クリックして、リンクのURLをコピー)を使ってこの記事にトラックバックを送ることができます。もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。トラックバックの手動送信に失敗したり、拒否された場合には、あけび猫が入力しますので、こちらまでご連絡下さい。重複したトラックバックは、自動的に1つにまとめられるようなので、気軽に色々試してみて下さい。

人気アイテム(人気順) 人気アイテム(不人気順)
  1. ドラゴンボール ブルマのHシーン  その1(116/11132)
  2. 【パパ聞き! OP】 Happy Girl 【高音質 Full】(83/824)
  3. ロアアームとタイロッドエンドのボールジョイントブーツ交換(69/6075)
  4. ソフトウェアRAID(51/5971)
  5. 断線したマウスケーブルの補修(46/5386)
  6. 【もう恋なんてしない】 もうオタなんてやめる recog 【替え歌】 (41/90)
  7. リヤハブベアリングの交換(37/4410)
  8. NP_Revision (v0.7-x) - 記事の変更履歴管理と差分表示(32/2662)
  9. DENON PMA-715R ステレオプリメインアンプのリレー交換(32/1097)
  10. やよいのエッチなロリロリお泊り会 (29/1404)
  11. 「ミドボンでソーダ充」を実践してみる(28/718)
  12. MySQLのレプリケーションを設定する(28/3300)
  13. 夢みるメロディー / 梶谷美由紀(27/61)
  14. パンストED(歌詞和訳) (27/1100)
  15. negima 1000 sparking (full ver) (25/81)
  16. 【まゆとも名曲選】4月の雪/林原めぐみ (24/1117)
  17. ゆるゆり あっかりーんっ☆ 大事件 \アッカリ~ン/ (23/51)
  18. Sign - Ray【あの夏で待ってる】 OP 在盛夏等待 (22/130)
  19. みなみけOP 経験値上昇中☆ Full 歌詞付(22/72)
  20. Denki Groove - Upside Down(21/138)
  1. mi-fa-pu(2/272)
  2. もし,GMにマイクロソフトのような技術があったら(2/287)
  3. かわいい猫ちゃんの画像を貼ってください。(2/258)
  4. 01月23日のココロ日記(BlogPet)(2/248)
  5. 01月30日のココロ日記(BlogPet)(2/249)
  6. Heated Beer Bottle Experiment(2/253)
  7. 02月06日のココロ日記(BlogPet)(2/248)
  8. 02月13日のココロ日記(BlogPet)(2/246)
  9. 02月20日のココロ日記(BlogPet)(2/245)
  10. Guitar Kitteh(2/245)
  11. 位置(BlogPet)(2/188)
  12. 04月25日のココロ日記(BlogPet)(2/226)
  13. 表示(BlogPet)(2/217)
  14. 柔軟サーキュレーション(2/208)
  15. ロート製薬(BlogPet)(2/207)
  16. メンチ(BlogPet)(2/194)
  17. あけび猫は表示したかった(BlogPet)(2/204)
  18. 挑戦するつもりだった(BlogPet)(2/192)
  19. bit.ly | Site Unavailable(BlogPet)(2/181)
  20. bit.ly | Site Unavailable(BlogPet)(2/173)

http://nyan.co.uk/akebia/