[実践演習]シリーズ04 - MySQLデータベースのマスタ・スレーブレプリケーションのデータベースの基本と原則を

1、初期準備

1.1、一貫性のあるバージョン
1.2は、テーブルを初期化し、バックグラウンドでmysqlの起動
、1.3をrootのパスワードを変更します 

2、マスターサーバーがマスターを変更します

私たちはな/etc/my.cnf
[mysqldを] 
ログ・ビンビンのMySQL =#[なる]バイナリログを有効にする
サーバーIDを= 28#[なる]一意のサーバーIDは、デフォルトでは一般的にIPの最後の段落1であり、

3.サーバーのスレーブから変更します。

私たちはな/etc/my.cnf
[mysqldを] 
ログ・ビン=#MySQLのビンバイナリログの有効化[不要] 
サーバーIDを= 29#[必要]サーバー固有のID、デフォルトでは一般的にIPの最後の段落1であり、

4、二つのサーバのMySQLを再起動します

/etc/init.d/mysql再起動

5、マスタサーバ上でアカウントを作成し、スレーブを承認

MySQLの-uルート-p
GRANT REPLICATION SLAVE ON * * 'mysync' @ '%' 'を1qaz QAZ!'で識別します。
フラッシュ権限;

//一般的にrootアカウントを持っていない、「%」は、すべてのクライアントでも、限り、パスワードが正しい口座番号など、など10.1.30.29として、セキュリティを強化し、ここでは代わりに特定のクライアントIPを使用することができますことを意味します。

(主要マスター複製した場合、それぞれ、両側に確立されていてもよいです)


6、マスターの状態を照会、プライマリサーバのmysqlにログイン

MySQLは>マスター状態を表示します。

+ ------------------ + ---------- + -------------- + ---- -------------- +

| ファイル| 位置| Binlog_Do_DB | Binlog_Ignore_DB |

+ ------------------ + ---------- + -------------- + ---- -------------- +

| mysqlの-bin.000001 | 252 | | |

+ ------------------ + ---------- + -------------- + ---- -----------   

注:この手順の後の操作MYSQLベースのマスターサーバーを実行していない、マスターサーバーの状態値の変化が予防
7を、スレーブから構成サーバー

mysqlの= '10をMASTER_HOSTする>変更マスタ.1.30.28' 、master_user = 'mysync'、master_password = '1qaz QAZ'、MASTER_LOG_FILE = 'mysqlの-bin.000001'、MASTER_LOG_POS = 252!;

#はありません252の番号の前にして、単一引用符の後、接続を切断しないように注意してください。(実際の変形によれば、上記マスターステータスコードで書かれたクエリの結果が関連している、ここで注意してください)

MySQLの>スレーブを起動します。

サーバーからのレプリケーションを開始し
、サーバーからのレプリケーションの状態を確認し、8

MySQLの>スレーブステータスを表示\ G

  *************************** 1行******************** *******

               Slave_IO_State:イベントを送信するためにマスターを待っています

                  MASTER_HOST:10.1.30.23

                  Master_User:mysync

                  MASTER_PORT:3306

                Connect_Retry:60

              MASTER_LOG_FILEます。mysql-bin.000001

          Read_Master_Log_Pos:252

               RELAY_LOG_FILE:mysqldのリレー-bin.000002

                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:252

              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:

セット(0.00秒)に1行 ......

注:Slave_IOとSlave_SQLプロセスが動作しなければならない、すなわち、YES状態がそうでなければ誤った状態である(例:1つのNO間違ったコミット誤って)。

上記の操作中に、マスターサーバーから設定を完了します。
  
9、テストからメインサーバー:
マスターMySQLのデータベースを構築し、データを挿入し、ライブラリ内のテーブルを作成:

MySQLの>データベースTEST_DBを作成します。
クエリOK、影響を受けた1行(0.00秒)
 
のMySQL> TEST_DBを使用します。
データベースが変更され
 
>表test_tb(ID整数(3)、名char(10))を作成MySQLを、
クエリOK、影響を受けた0行(0.00秒)
  
のMySQL> test_tb値(001、 'ジャック')に挿入します。
クエリOK、影響を受けた1行(0.00秒)
 
のMySQL>ショーデータベース。


   + -------------------- +
   |データベース|
   + -------------------- +
   | INFORMATION_SCHEMA |
   | TEST_DB |
   | MySQLの|
   |テスト|
   + -------------------- +
   SET(0.00秒)で4行

サーバMySQLのクエリから:

MySQLの>ショーのデータベース;

   + -------------------- +
   |データベース|
   + -------------------- +
   | INFORMATION_SCHEMA |
   作成したメインサーバのデータベースを参照することが// | | TEST_DB
   | MySQLの|
   |テスト|

   + -------------------- +
   SETで4行(0.00秒)

   のMySQL> TEST_DBの使用
   データベースが変更
   test_tbからのMySQL> SELECT *を; //
新しいプライマリサーバ上のビュー具体的なデータの増加
   + ------ + ------ +
   |上記ID |名|
   + ------ + ------ +
   | 1 |ジャック|
   + ----- - + ------ +
   SET(0.00秒)に1行
  


おすすめ

転載: blog.51cto.com/14423403/2420873