mysqlのマスタースレーブのレプリケーションを多く使用していると考えられているが、彼の仕事のためには使用されませんどのようになっています。この期間を利用しても、自分の再びの達成、比較的アイドルです。そこにインターネット上で同様の記事がたくさんありますが、その実装はまだ価値が録音ですが。
環境:
マスター:CentOSの6.0 MySQLの5.1.67-ログIP 192.168.0.107:
サーバーから:CentOSの6.0 MySQLの5.1.67-ログIP :192.168.0.109
プライマリ・データベース・サーバのテスト
TABLE `menber`を作成します( ` name`のVARCHAR(255)DEFAULT NULLデフォルト''、 `id`のint(11)NOT NULL AUTO_INCREMENT、 PRIMARY KEY(` id`) )ENGINE = MyISAMのAUTO_INCREMENT = 1 DEFAULT CHARSET = latin1の。 ; menber`( `NAME`、` id`)の値( 'zhangsan'、 '1') `への挿入 menber` `挿入(` NAME`、 `id`)の値( 'リージ'、 '2')。 menber` `挿入(` NAME`、 `id`)の値( '王五'、 '3')。
MySQLのデフォルトの設定ファイル、特別な/etc/my.cnfにデフォルト値を指定しない場合
MySQLの設定ファイルの検索順序:な/etc/my.cnf /etc/mysql/my.cnf〜/ .my.cnf
構成:
まず、プライマリサーバ
1.1、許可レプリケーションスレーブによるレプリケーションのユーザーを作成します。
*上のMySQLは>助成金のレプリケーションスレーブ*「REPL」によって識別される「repl'@'192.168.0.109」へ。 MySQLの>フラッシュ権限;
1.2、編集my.cnfファイル
我々な/etc/my.cnf
加えます
サーバー-ID = 107
ログイン-binとオープンバイナリログファイル([のchown -R mysqlのことでMySQLの必要性は/ var / libに書き込み権限/ mysqlの/ディレクトリ:変更のmysqlの/ var / libに/ mysqlの構文)
ログ・ビン=の/ var / libに/ mysqlの/ mysqlのビン
#人はmysqlはショーマスターのステータスを実行表示されるかどうか、絶対パスを指定します。あなたは、ログの場合は表示できません MySQLの>ショーマスターのステータスを、 SET(0.00秒)を空に MySQLの>バイナリログを表示します。 ERROR 1381(HY000):あなたで使用してバイナリログではありません
他の拡張機能の設定項目:
ビンログ-DO-DBのバックアップ複数のデータベース場合は、バックアップする= mysql1#データベース名、繰り返しにこのオプションを設定し
たバックアップ複数のデータベース場合のbinlog-無視-DB = mysql2#この繰り返しを設定し、データベース名をバックアップする必要はありませんオプション
= 1#このパラメータそうでない場合は、いくつか記録するために更新されたバイナリファイルを与えることはありません、追加する必要があり、スレーブの更新ログ
のコピー操作を続行、エラーをスキップする= 1#スレーブスキップエラーを(オプション)
1.3、MySQLデータベースを再起動します
サービスmysqldを再起動
1.4、読み取りロックを設定します
mysqlの読み取りロック付き> FLUSH TABLES;
1.5バイナリログログファイル名を与えるとオフセットする(ここでは名前と位置の値が時にスレーブサーバ構成の背後に使用する必要があるファイルを覚えておいてください)
MySQLの>ショーマスターのステータス。 + ------------------ + ---------- + -------------- + ---- -------------- + | ファイル| 位置| Binlog_Do_DB | Binlog_Ignore_DB | + ------------------ + ---------- + -------------- + ---- -------------- + | mysqlの-bin.000001 | 713 | | | + ------------------ + ---------- + -------------- + ---- -------------- + セット内の1行(0.00秒)
1.6、同期するデータベースのバックアップ
mysqldumpをテスト> test.sql内
1.7、ロック解除
MySQLの>ロック解除テーブル。
第二に、サーバーから(192.168.0.109)
スレーブ・サーバ(192.168.0.109)にバックアップからデータベース・データ・マスタ(192.168.0.107)を復元
2.1、編集my.cnfファイル
我々な/etc/my.cnf
加えます
サーバID = 109
2.2は、データベースから再起動します
サービスmysqldを再起動
2.3データベースからセットに対応
ここで注意し、その名前とログファイルの位置の値は、ホスト、ユーザーの残りの部分とパスワードベースのアカウントとパスワードデータベースの設定
MySQLの>停止スレーブ;
クエリOK、影響を受けた0行(0.00秒)
MySQL>変更マスタ
> MASTER_HOST = '192.168.0.107'、 -
- > master_user = 'REPL'、
- > master_password = 'REPL'、
- > MASTER_LOG_FILE = 'のMySQL-bin.000001'、
- > MASTER_LOG_POS = 713。
MySQLの>スレーブを起動します。
クエリOK、影響を受けた0行(0.00秒)
MySQLの>ショースレーブステータス\ G。
*************************** 1行******************** *******
Slave_IO_State:イベント送信するためのマスターを待っている
MASTER_HOSTを:192.168.0.107
Master_User:REPL
MASTER_PORT:3306
Connect_Retry:60
MASTER_LOG_FILEます。mysql-bin.000001
Read_Master_Log_Pos:1079
RELAY_LOG_FILE:mysqldのリレー-bin.000004
RELAY_LOG_POS: 251
のRelay_Master_Log_File:MySQLの-bin.000001
Slave_IO_Running:はい
Slave_SQL_Running:はい
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno:0
LAST_ERROR:
Skip_Counter:0
Exec_Master_Log_Pos:1079
Relay_Log_Space:407
Until_Condition:なし
Until_Log_File:
Until_Log_Pos:0
Master_SSL_Allowed:いいえ
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:0
Master_SSL_Verify_Server_Cert:いいえ
Last_IO_Errno:0
Last_IO_Error:
Last_SQL_Errno:0
Last_SQL_Error:
1行セット中の(0.00秒)
ERROR:
指定されていませんクエリ
ここでは主に確認してください。
Slave_IO_Running =はい
Slave_SQL_Running =はい
Slave_IO_Running場合:いいえまたはSlave_SQL_Running:NOは、データベースからの集合に対応し、やり直し2.3にする必要があります
第三に、テスト:
あなたが設定した後、上記の項目は、マスタとスレーブスレッドの状態で見ることができます。マスター上では、スレーブI / Oスレッドの接続が作成されて見ることができます:マスターのshow PROCESSLIST \ Gを入力します。
MySQLの>ショーPROCESSLIST \ G。 *************************** 1行******************** ******* イド:4 ユーザー:ルート ホスト:localhostの デシベル:NULL コマンド:クエリ 時間:0 状態:NULL 情報:ショーPROCESSLIST ****************** ********* 2行*************************** イド:19 ユーザー:REPL ホスト:192.168.0.109 :42337 のdb:NULL コマンド:BINLOGダンプ 時間:183 状態:スレーブにすべてのビンログを送信しました。binlogのを待っていると、更新する NULL:インフォ セット内の2行(0.00秒) ERROR: いいえクエリが指定されていません
3.1、プライマリ・データベース内:192.168.0.107新しいデータを追加します
`menber`(` name`の)値( '・リー8')への挿入; `menber`(` name`の)値( 'あおい')への挿入。
データベースから3.2:192.168.0.109上のViewデータベース
MySQLの> menberからSELECT *; + ----------- + ---- + |名前|述べたID上記| + ----------- + ---- + | zhangsan | 1 | |リシ| 2 | |ワング・ウ| 3 | |イ8 | 4 | |あおい| 5 | + ----- + ----- + SET 5行(0.02秒)
この時点で、データがデータベースに正常192.168.0.109からスレーブにコピーされています。