プログラムの開発

My SQL 5.5データベースの同期化

的

記事の目次

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が表示されます。