MGR架構~單寫模式架構的搭建

一 簡介 :MGR一直沒有時間測試,今天我們來初步瞭解搭建一下唄mysql

二 環境: mysql5.7.20  單臺機器 啓動三實例sql

三  mysql 搭建:bootstrap

    1 創建相關目錄+架構

     mkdir -p /data/mysql/data_3306測試

     mkdir -p /data/mysql/data_3307插件

     mkdir -p /data/mysql/data_3308orm

   2 腳本初始化 事務

     /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data_3306ip

    /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data_3307
    /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/data_3308同步

   3 修改密碼

    mysql -uroot -S /tmp/mysql_3306.sock -e "set password for 'root'@'localhost' = password('test');"

   mysql -uroot -ptest -S /tmp/mysql_3306.sock -e "flush privileges"

   mysql -uroot -S /tmp/mysql_3307.sock -e "set password for 'root'@'localhost' = password('test');"
   mysql -uroot -ptest -S /tmp/mysql_3307.sock -e "flush privileges"

   mysql -uroot -S /tmp/mysql_3308.sock -e "set password for 'root'@'localhost' = password('test');"
   mysql -uroot -ptest -S /tmp/mysql_3308.sock -e "flush privileges"

   4  啓動命令

    nohup /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my_3306.cnf &

    nohup /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my_3307.cnf &
    nohup /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my_3308.cnf & 

 5 三節點安裝插件

          change master to master_user='repl',master_password='repl' for channel 'group_replication_recovery';
          install plugin group_replication soname 'group_replication.so';

  6  重啓服務,分別建立複製帳戶 

       set sql_log_bin=0; 

       GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl';
       flush privileges;
       set sql_log_bin=1;

 四 MGR配置

    1 配置文件添加        

report_host=IP //VIEW顯示具體IP,而非域名

gtid_mode = ON
enforce_gtid_consistency = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE
binlog_checksum = NONE
log_slave_updates = ON
slave_parallel_type=LOGICAL_CLOCK //並行複製
slave_parallel_workers=8
slave-preserve-commit-order=on

group_replication_unreachable_majority_timeout=5 //當節點存在不可達狀態時等待5S就再也不等待,防止影響集羣服務,若是仍保持UNREACHABLE,則將節點置爲ERROR狀態.默認無限等待
group_replication_compression_threshold=131072 //開啓壓縮針對大事務->這裏設置是2M
group_replication_transaction_size_limit=20971520//對於最大事務的限制(2g),超過此大小會致使同步失敗->默認是0,推薦設置成20M
log_timestamps=SYSTEM//時區
transaction_write_set_extraction = XXHASH64
loose-group_replication_group_name="01e5fb97-be64-41f7-bafd-3afc7a6ab555"
loose-group_replication_start_on_boot=off
loose-group_replication_local_address="127.0.0.1:13306"//除了此處不一樣 其餘都相同
loose-group_replication_group_seeds="127.0.0.1:13306,127.0.0.1:13307,127.0.0.1:13308"
loose-group_replication_bootstrap_group = off
loose-group_replication_ip_whitelist='IP1/24,IP2/24' 

     

      2 主節點執行       


      set global group_replication_bootstrap_group=ON;
      START group_replication;
      set global group_replication_bootstrap_group=OFF;

     3 從節點執行            

      START group_replication;

      4 查看狀態      

       select * from performance_schema.replication_group_members; 

        三個成員均爲online 則表明搭建成功 

       6 查看主成員

        1 select variable_value from performance_schema.global_status where variable_name ='group_replication_primary_member';  獲取主UUID

        2  select * from performance_schema.replication_group_members; 根據UUID肯定primary

       7 測試

          1 創建一個擁有主鍵的表並插入數據(MGR架構下表必須擁有主鍵)

          2 查看其餘節點是否擁有數據 

   五 說明

         這篇文章是單主的MGR的第一次嘗試,之後會繼續補充

相關文章
相關標籤/搜索