Mysql數據庫的主從複製

  • Mysql主從複製做用原理
    一、在業務複雜的系統中,有這麼一個情景,有一句sql語句須要鎖表,致使暫時不能使用讀的服務,那麼就很影響運行中的業務,使用主從複製,讓主庫負責寫,從庫負責讀,這樣,即便主庫出現了鎖表的情景,經過讀從庫也能夠保證業務的正常運做。
    二、作數據的熱備
    三、架構的擴展。業務量愈來愈大,I/O訪問頻率太高,單機沒法知足,此時作多庫的存儲,下降磁盤I/O訪問的頻率,提升單個機器的I/O性能。
    mysql主從複製是一個異步的複製過程,主庫發送更新事件到從庫,從庫讀取更新記錄,並執行更新記錄,使得從庫的內容與主庫保持一致。
主機 IP 主要軟件
主服務器 192.168.126.129 mysql-5.7.1七、 ntp 、boost_1_59_0.tar
從服務器1 192.168.126.130 mysql-5.7.17 、 ntp 、boost_1_59_0.tar
從服務器2 192.168.126.131 mysql-5.7.17 、 ntp 、boost_1_59_0.tar

搭建Mysql主從複製mysql

  • 主服務器
  • 創建時間同步環境sql

    # systemctl stop firewalld.service  //關閉防火牆
    # setenforce 0
    # yum -y install ntp (通常系統自帶 沒有的話安裝)
    # vim /etc/ntp.conf    (添加下面2行)
      server 127.127.126.0                    //本地是時鐘源//
      fudge 127.127.126.0 stratum 8          //設置時間層級爲8(限制在15內)//
    # systemctl restart ntpd    //重啓ntp服務
  • 從服務器
  • 進行時間同步數據庫

    # systemctl stop firewalld.service  //關閉防火牆
        # setenforce 0
        #  systemctl start ntpd    //開啓ntp服務
        # yum install ntp ntpdate -y
        # /usr/sbin/ntpdate 192.168.126.129    //進行時間同步//

    安裝Mysql服務
    安裝詳解:https://blog.51cto.com/13630803/2108180
    安裝後設置密碼:vim

    # mysqladmin -u root password '123456'
  • 配置主服務器服務器

    # vim /etc/my.cnf
        server-id       = 11
        log-bin=master-bin                         //主服務器日誌文件//
        log-slave-updates=true                     //從服務器更新二進制日誌//
    # systemctl restart mysqld  
    # mysql -u root -p123456  //登陸Mysql 給從服務器受權
    mysql> GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.126.%' IDENTIFIED BY '123456';
    mysql> FLUSH PRIVILEGES;
    mysql>show master status;

    Mysql數據庫的主從複製

  • 配置從服務器(兩臺配置相同)架構

    # vim /etc/my.cnf
      server-id       = 22           //另外一臺從服務器也是22
        relay-log=relay-log-bin         //從主服務器上同步日誌文件記錄到本地//
        relay-log-index=slave-relay-bin.index        //定義relay-log的位置和名稱//
    # systemctl restart mysqld
  • 按主服務器結果更改下面master_log_file 和master_log_pos異步

    # mysql -u root -p123456
        mysql> change master to master_host='192.168.126.129',master_user='myslave',master_password='123456',master_log_file='master-bin.000001',master_log_pos=604;
        mysql> start slave;  //啓動同步
        mysql> show slave status\G;             //查看狀態//

    Mysql數據庫的主從複製

  • 測試一下
  • 主服務器上 create database test;
  • 去從服務器上 show databases;
    Mysql數據庫的主從複製Mysql數據庫的主從複製
相關文章
相關標籤/搜索