mysql-メイン構築mm

6043 ワード

MMマスターモードはマスターに基づいて構築するMSマスターモードは未MSSを拡張することができ、Mは書き込みサービスであり、2つのSがリードサービスを提供するMMマスターモードは未MSSMSSを拡張することができ、つまり2台のmasterが互いに書き込み、1つのMは2つ以上のslaveを持っており、このような拡張性と提供するサービス能力はMSモードよりはるかに大きい.
主従の構築が完了した後(前のMSで構築した文章を参照)、データベースを操作しないでください.操作データはbinlogに書き込まれるので、2台のMySQLデータが統一されません.操作前に必要:0.構築番号MSモード1.2台のサーバをシャットダウンする必要があるiptables.iptablesが配置されていれば配置も可能ですが、ついでにどのように配置するか教えてください.ここは直接閉鎖しました.2.slaveの停止
  • まずレプリケーションアカウントを確立構築するマスター100上でslaver 110に対する権限が確立されている場合、次にslaver 110をmaster 110(以下master 110と呼ぶ)に変更し、最初のステップはmaster 110上でmaster 100の同期アカウントに対してmaster 110上で
  • を実行する.
    mysql> GRANT RELOAD, SUPER, REPLICATION SLAVE ON *.* TO 'repl'@'192.168.213.100' identified by 'repl';
    Query OK, 0 rows affected (0.00 sec)

    master 100は主従時に110に授権されているので、再実行する必要はない.show grants for'repl'@'192.168.213.110'で許可されているかどうかを確認できます.
  • 修正my.cnf 2.1 master 110のmyを修正する.cnfは[mysqld]のノードに以下のパラメータ
  • を追加する
    #MM Info
    auto_increment_increment=2 #           
    auto_increment_offset=2 #id    ,      id    

    2.2マスター100のmyを修正する.cnfは[mysqld]のノードに以下のパラメータを追加する
    #MM Info
    replicate-wild-ignore-table=mysql.%
    replicate-wild-ignore-table=test.%
    auto_increment_increment=2
    auto_increment_offset=1 

    3 change master to主従構築時に既にmaster 110にmaster 100を互写と指定しているmaster今回はmaster 100にmaster 110を互写masterと指定する必要がある
    master 110でshowを実行する..同期ファイルと同期場所を決定する.
    mysql> show master status;
    +------------------+----------+--------------+------------------+-------------------+
    | File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
    +------------------+----------+--------------+------------------+-------------------+
    | mysql-bin.000010 |      972 |              |                  |                   |
    +------------------+----------+--------------+------------------+-------------------+

    そしてマスター100で変更できます.mysql> change master to master_host='192.168.213.110',master_user='repl',master_password='repl',master_log_file='mysql-bin.000010',master_log_pos=972;
    4 salveを起動してmaster 100および110でstart slaveを実行し、同期状態を観察する
    Slave_IO_Running: Yes
    Slave_SQL_Running: Yes
    Seconds_Behind_Master: 0
    Last_IO_Error:          slave  ,
        :                  .  
    Slave_IO_Running: Connecting
    Slave_SQL_Running: Yes
    Seconds_Behind_Master: NULL
    Last_IO_Error: error connecting to master '[email protected]:3306' - retry-time: 60  retries: 1

    5試験は、master 100と110にそれぞれ表を作成する両側が同期しているかどうかを観察し、2枚の表にデータを挿入し、同じ表にデータを挿入する繰り返し試験を行い、MSSMSSモードを再構築することもできる.これはみんなのニーズ次第だ.ここで私の簡単なテストを見て、もしあなたたちが私と同じならば、MMモードの構築が成功したことを説明します.マスター100で実行
    mysql> create database t3;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> use t3
    Database changed
    mysql> create table tab1 (id int(100) not null auto_increment primary key,name varchar(10));
    Query OK, 0 rows affected (0.01 sec)
    
    mysql> insert into tab1 (name) values ('qqq'),('yyyy'); 
    Query OK, 2 rows affected (0.00 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    
    mysql> select * from tab1;
    +----+------+
    | id | name |
    +----+------+
    |  1 | qqq  |
    |  3 | yyyy |
    +----+------+
    2 rows in set (0.00 sec)

    master 110で表示する実行する.
    mysql> use t3
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> select * from tab1;
    +----+------+
    | id | name |
    +----+------+
    |  1 | qqq  |
    |  3 | yyyy |
    +----+------+
    2 rows in set (0.00 sec)
    
    mysql> insert into tab1(name) values ('qeerer'),('qxxx');
    Query OK, 2 rows affected (0.00 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    
    mysql> select * from tab1;
    +----+--------+
    | id | name   |
    +----+--------+
    |  1 | qqq    |
    |  3 | yyyy   |
    |  4 | qeerer |
    |  6 | qxxx   |
    +----+--------+
    4 rows in set (0.00 sec)

    ここまで、MMの构筑は基本的に完成して、また改善して最适化する必要があって、ここはただ大雑把な构筑の手记で、残りのみんなは自分で発挥しましょう..