Yamaのリーダーはデータベース同期検索をすると言いました。ネットからgetチュートリアルをすると、結果は百度はn回もできないし、酔っている、Googleは良いことができるように見えます。以下の華仔は大体次のmysql 5.5データベースマスター/スレーブ同期チュートリアルを整理しました。
192.168.21.169 mysqlプライマリサーバー
192.168.21.168 mysqlサーバーから
My SQLマスターサーバーの構成(192.16 8.2 1.169)
mysql-uroot-p My SQLコンソールへのアクセス
Osyunweidbデータベースの作成 Osyunweidbデータベースの作成
insert into mysql.user Host User Password values localhost osyunweiuser password 123456; #ユーザー osyunweiuserの作成
フラッシュ特権の使用; #システム権限テーブルのリフレッシュ
Grant Replication Slave on *.* to(osyunweidbbak)@(19 2.16 8.2 1.168)identified by(123456)with grant option; #My SQLマスター/スレーブデータベース同期ユーザーを確立し、ユーザー osyunweidbbakが192.16 8.2 1.168このIPからプライマリサーバー 192.16 8.2 1.169上のデータベースにのみアクセスでき、データベースバックアップ権限のみを持ちます。
My SQLプライマリサーバーのmy.iniファイルの設定 My SQLルートディレクトリにあります。
#設定ファイルを編集し、[mysqld]セクションに以下を追加します。
サーバー ID =1 #サーバー IDを設定します。1はプライマリサーバーを表します。注:この行が元の設定ファイルにすでにある場合は、追加する必要はありません。
log_bin=mysql-binさん #My SQバイナリログシステムを起動します。注:この行が元の設定ファイルに既にある場合は、追加する必要はありません。 あなたのジャーナルアドレスが何であるかに特に注意してください。
binlog-do-db =osyunweidb #同期が必要なデータベース名。複数のデータベースがある場合は、このパラメータをデータベースごとに1行ずつ繰り返します。
binlog-ignore-db =mysql #My SQLシステムデータベースを同期しない
service mysql restart #My SQLを再起動する
mysql-u root-p My SQLコンソールへのアクセス
show master status;次のような情報が表示されるマスターサーバを表示する
+----------------------------+
| Fileファイル | Positionポジション|Binlog_Do_DB| Binlog_Ignore_DB|
+----------------------------+
| mysql-bin.000019 | 7131 | オシュンウェイブ | My SQLを参照 |
+----------------------------+
セット内の1行(0.00秒)
注:Fileの値:mysql-bin.000019とPositionの値:7131を覚えておいてください。
My SQLスレーブサーバーのmy.iniファイルを設定する
#設定ファイルを編集し、[mysqld]セクションに以下を追加します。
サーバー ID =2 #設定ファイルにはすでにserver-id=1という行があり、値を2に変更してデータベースから表します。
log-bin==mysql-binさん #My SQバイナリログシステムを起動します。注:この行が元の設定ファイルに既にある場合は、追加する必要はありません。あなたのジャーナルアドレスが何であるかに特に注意してください。
replicate-do-db=osyunweidb #同期が必要なデータベース名。複数のデータベースがある場合は、このパラメータをデータベースごとに1行ずつ繰り返します。
replicate-ignore-db =mysql #My SQLシステムデータベースを同期しない
Service My SQL再起動 #My SQLの再起動
注:My SQLバージョン5.1.7以降、my.cnf設定ファイルへのmaster設定プロパティの書き込みはサポートされなくなりました。同期されたデータベースと無視されるデータベースのみを書き込む必要があります。
mysql-u root-p #My SQLコンソールへのアクセス
奴隷の停止; スレーブ同期プロセスを停止する
change master to master = 192.168.21.169 'master user = osyunweidbbak master = 123456' master_log_file=mysql-bin.000019Essbase master_log_pos =7131; #同期文の実行
ファイル名と場所は自分の実情に応じて記入する
奴隷の始まり; スレーブ同期プロセスの開始
SHOW SLAVE STATUS STATUS STRAG #スレーブ同期情報を確認すると、以下のように表示されます。
*************************** row **************
Slave_IO_State:イベントを送信するためのマスターの待機
Master_Host 192.168.21.169
Master_User osyunweidbbak
Master_Port 3306
Connect_Retry 60
Master_Log_File mysql-bin.000019
Read_Master_Log_Pos 7131
Relay_Log_File MySQLSlave-relay-bin.00002
Relay_Log_Pos 253
Relay_Master_Log_File mysql-bin.000019
Slave_IO_Running Yes
Slave_SQL_Running Yes
ate_Do_DB
ate_Ignore_DB
Replicate_Do_Table
ate_Ignore_Table
セット内の1行(0.00秒)
注意してください:
Slave_IO_Running Yes
Slave_SQL_Running Yes
これらの2つのパラメータの値はYesで、設定が成功したことを示します。
My SQLマスタースレーブサーバのデュアルホットスペアのテスト
My SQLマスターサーバーへのアクセス
mysql-u root-p #マスターサーバーのMy SQLコンソールに移動する
オシュンウェイDBの使用 #データベースにアクセスする
CREATE TABLE test id int not null primary key name char 20; #テストテーブルの作成
2.サーバーからMy SQLにアクセスする
mysql-u root-p #My SQLコンソールへのアクセス
オシュンウェイDBの使用 #データベースにアクセスする
show tables; #osyunweidbテーブル構造を見ると、データベース同期が成功したことを示す新しいテーブルtestが表示されます。