Mysql主從模式部署過程

MySQL主從模式可以從一個MySQL數據庫服務器主節點複製到一個或多個從節點。本文使用 半同步複製模式
mysql主從複製用途:

  • 實時災備,用於故障切換(高可用)
  • 讀寫分離,提供查詢服務(讀擴展)
  • 數據備份,避免影響業務(高可用)

主從部署必要條件:

  • 從庫服務器能連通主庫
  • 主庫開啓binlog日誌(設置log-bin參數)
  • 主從server-id不同

1.軟件版本和環境:

系統:CentOS7系統

軟件 mysql5.7.30安裝包:mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar

2.各個機器IP和角色

​ 172.18.0.12 – master主庫 --負責數據寫入

​ 172.18.0.13 – slaver從庫1—負責數據讀取

​ 172.18.0.14 – slaver從庫2 —負責數據讀取

2.安裝過程:

1.mysql主從數據庫安裝

  • 安裝mysql相關程序包

    rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-libs-compat-5.7.30-1.el7.x86_64.rpm 
    rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
    rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm 
    rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
    
  • 2.初始化數據庫,啓動mysql服務

    mysqld --initialize --user=mysql
    通過 cat /var/log/mysqld.log  查看初始化的root用戶密碼
    systemctl start mysqld.service
    
  • master主庫配置

    1.設置master主庫my.cof文件
    	[mysqld]
    	# log_bin
    	server-id=1
    	log_bin=mysql-bin //開啓二進制日誌
    	sync-binlog=1
    	relay-log=mysql-relay-log //開啓中繼日誌
    	skip_name_resolve			//關閉名稱解析(非必須)
    	binlog-ignore-db=information_schema  //不進行同步的庫
    	binlog-ignore-db=sys  //不進行同步的庫
    	binlog-ignore-db=performance_schema  //不進行同步的庫
    2.重啓數據庫
    	systemctl restart mysqld
    3.授權訪問
    	grant replication slave on *.* to 'root'@'%' identified by 'root';
    	grant all privileges on *.* to 'root'@'%' identified by 'root';
    	flush privileges;
    4.查看狀態
    	show master status;
    	記住文件名和pos值,從庫設置時需要用到。
    
  • slaver從庫配置

    1.配置my.cof文件
        [mysqld]
        # log_bin
        server-id=2
        #開啓中繼日誌
        relay-log=mysql-relay-bin
        #開啓二進制日誌
        log-bin=mysql-bin
        #啓用只讀屬性
        read_only=1
        #是否自動清空不再需要中繼日誌
        relay_log_purge = 0
        #關閉名稱解析(非必須)
        skip_name_resolve
        #使得更新的數據寫進二進制日誌中
        log_slave_updates = 1
    2.重啓數據庫 
    	systemctl restart mysqld
    3.配置從庫同步的主庫信息
     	change master to master_host='172.18.0.12',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000001',master_log_pos=869;
     4.用主城複製
     	start slave;
    

2.mysql主從半同步複製設置

  • master主庫設置
//安裝半同步插件
mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';
//查看半同步設置
mysql> show variables like '%semi%';
//啓用半同步複製
mysql> set global rpl_semi_sync_master_enabled=1;
//啓用1秒鐘同步一次
mysql> set global rpl_semi_sync_master_timeout=1000;
  • slaver庫設置
//安裝半同步插件
mysql> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
//啓用半同步複製
mysql> set global rpl_semi_sync_slave_enabled=1;

2.測試主從半同步複製

  • 主庫添加記錄
    在這裏插入圖片描述

  • 從庫查看記錄
    在這裏插入圖片描述

  • 查看日誌

在這裏插入圖片描述

已進行半同步複製。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章