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

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;

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です