mysql8 主從配置方案

先理論,後實踐!在理論的基礎上有指導性的實踐會更快,也更容易發現錯誤.理論參考高性能mysql這本書,以前大概看過一遍,但實際生產中並無怎麼注意mysql性能這方面,今天用到主備,就把第十章的複製拿出來學習一下,並作好彙總記錄.mysql

概述sql

     複製解決的基本問題是讓一臺服務器的數據與其餘服務器保持同步,mysql支持兩種同步,一是基於行的複製和二是基於語句的複製,兩種方式都是經過主庫上記錄二進制日誌.centos

     mysql複製大部分是向後兼容的,複製不會增長主庫的開銷,主要是啓用二進制日誌帶來的開銷,也就是網絡I/O的開銷.服務器

工做原理網絡

    複製分爲三個步驟:ide

  1. 在主庫上把數據更改記錄到二進制日誌中
  2. 備庫將主庫上的日誌複製到本身的中繼日誌中
  3. 備庫讀取中繼日誌中的事件,將其重放到備庫數據之上

具體配置性能

  • 環境介紹

          三臺虛擬機:192.168.5.201      hostname:centos01學習

                                  192.168.5.202     hostname:centos02spa

                                  192.168.5.203     hostname:centos033d

 

  • 主服務器具體配置

 

        三臺主機中,咱們把201做爲主服務器,在主服務器上的配置以下:      

1./etc/my.cnf  裏配置
    server-id=201
    log_bin=testMSback #名字本身起
2.mysql 裏配置 
   mysql -uroot -p
   use mysql;
   create user 'repl'@'192.168.5.%' identified with 'mysql_native_password' by 'your pwd';
   grant replication slave on *.* to 'repl'@'192.168.5.%';
3.查看master的狀態
 show master status;  

  • 從服務器的具體配置

         20二、203上的配置以下:  

            

1./etc/my.cnf 
     server-id=202
     log_bin=testMSback 
----------------------------------
     server-id=203
     log_bin=testMSback
2.mysql裏的配置
  change master to master_host='192.168.5.201',master_user='repl',master_password='your pwd', master_log_file='testMSback.000003',master_log_pos=1578;
3.開啓從服務器
start slave;
show slave status;

 

 

    


        當看到上面的兩個yes,就是成功了。

 

遇到的問題就是slave_io_Running:connecting,怎麼也成不了yes,緣由就是登錄用戶的權限有問題,好在都解決了。

mysql的日誌:

相關文章
相關標籤/搜索