FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

MySQLのレプリケーション設定とエラー時のメモ

MySQLのレプリケーション設定とエラー時のメモ。




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

○マスタ側
1.ユーザを作成
REPLICATION SLAVE 権限を持つユーザを作成

 GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'hoge'


2.設定ファイル(my.ini)を変更

[mysqld]
log-bin=mysql-bin
server-id=1  //一意になる任意の番号


 サービス再起動

○スレーブ側
3.設定ファイル(my2.ini)を変更

[mysqld]
server-id=2  //一意になる任意の番号


 サービス再起動

○マスタ側
4.すべてのデータをフラッシュし書き込みをブロック

FLUSH TABLES WITH READ LOCK;



5.マスタの情報取得

SHOW MASTER STATUS;

+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 106 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)




6.マスタのデータをスレーブ側にコピー
 mysqldumpやファイルのコピーなどで、データを丸ごとスレーブ側にコピー

 http://dev.mysql.com/doc/refman/5.1/ja/replication-howto-mysqldump.html とか
 http://dev.mysql.com/doc/refman/5.1/ja/replication-howto-rawdata.html を参考に。

7.ロック開放

 UNLOCK TABLES;



○スレーブ側
8.マスタの設定を行う。
CHANGE MASTERコマンドでマスタの設定をスレーブに認識させる。

CHANGE MASTER TO
MASTER_HOST='192.168.xxx.xxx',
MASTER_USER='repl',
MASTER_PASSWORD='hoge',
MASTER_PORT=3306,
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=106;


 * LOG_FILEやLOG_POSは5で取得した情報。

9.レプリケーションスタート
下記を実行。

 START SLAVE;



10.レプリケーションの状態を確認

 show slave status\G;


Slave_IO_Running、Slave_SQL_RunningがYesになっていればOK。


■エラーメモ
○START SLAVEで以下のエラーが出た。
 ERROR 1200 (HY000): The server is not configured as slave; fix in config file or with CHANGE MASTER TO

 ・原因1 設定ファイルが間違えている
  マスタ側、スレーブ側の設定ファイルを見直す。
  server-idは正しく設定されているか?
  [mysqld]セクションに書くべきなのに、[mysql](dがない方)に書いてしまってたりしないか?

  設定が正しくできている場合は、設定修正後にサービスの再起動はしたか?

 ・原因2 master.infoの設定ミス
   そもそも、CHANGE MASTERを実行したか?
   しているなら、CHANGE MASTERの設定を確認。
   特に、MASTER_LOG_FILEやMASTER_LOG_POSが、正しいか確認。
   サービスを再起動したりすると、MASTER_LOG_FILEなどが変わったりするので注意。

   間違いない場合は、一度スレーブ側のmysqlのデータディレクトリ配下にある「master.info」を削除して、再実行。

 上記で直らなければ、データディレクトリは以下のエラーログ(*.err)に何か出ていないか確認。


○Slave_IO_RunningがNoになっている
 データディレクトリは以下のエラーログ(*.err)をテキストエディタなどで開いて、Slave I/O: Fatal errorが出ていないか確認。出ていれば、エラーメッセージへ対応。
 パスワードミスとか、server-idが一意になっていないとか。

以上。
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

検索フォーム
プロフィール

takuan93

Author:takuan93
本ブログの説明書→「ReadMe」

管理者に連絡

カテゴリ
WiX (5)
Ant (1)
フリーエリア
最新記事
カウンター
カレンダー
09 | 2018/10 | 11
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。