検索プログラマのメモ帳

壁にぶつかったら検索で調べるプログラマのちょっと遅れたメモ帳。たまに自分で挑戦する。

Skip to: Content | Sidebar | Footer

mysqlのレプリケーション設定

28 11月, 2014 (13:27) | mysql | By: admin

mysqlをマスターとスレーブの構成でレプリケーションの設定をする。

マスター:windows

スレーブ:linux

マスターのデータベースをスレーブに複製する

  1. 両方のmysqlをストップする。
  2. マスターの「C:\mysql\data」をzipに圧縮する。
  3. スレーブのmysqlの中身を削除「rm -rf /var/lib/mysql/*」
  4. スレーブの「/var/lib/mysql」で解凍する。「unzip data.zip」
  5. 権限の変更「chmod -R 7777」。

SSHポートフォワーディングの設定

ssh -f -N -C -L 10000:localhost:3306 mysql@192.168.1.11 -p 22投稿を表示する

マスターのmysqlにレプリケーション用のユーザーを作成する

GRANT REPLICATION SLAVE ON *.* TO ‘レプリケーション用ユーザー名’@’127.0.0.1’ IDENTIFIED BY ‘レプリケーション用パスワード’;
FLUSH PRIVILEGES;

  • REPLICATIONとSLAVEの権限を与える。
  • 「*.*」:全てのデータベースのすべてのテーブル(データベース名.テーブル名)
  • ユーザー名@アクセス元(どのコンピュータからの接続も受け付ける(ユーザー名@’%’))

mysqlの設定ファイルの編集

マスター(my.ini)

[mysqld]
log-bin
server-id=1
expire_logs_days = 30

スレーブ(/etc/my.cnf)

[mysqld]
server-id=2
report-host=192.168.1.11(スレーブサーバホスト名)
master-host=127.0.0.1(マスターサーバホスト名)
master_port=10000(ポートフォワーディング用ポート番号)
master-user=マスターに設定したレプリケーション用ユーザー
master-password=マスターに設定したレプリケーション用パスワード

再起動

  1. マスター・スレーブともに再起動
  2. mysql > START SLAVE;

Write a comment