複製延遲mysql
能夠利用同步複製機制(Semi-sync)解決,可是影響性能,當主機寫入時,確認更新已經同步到備機以後,再返回寫操做成功。
主從架構是一種高可用的解決方案,並非處理高併發的,處理高併發可利用redis緩存來解決。redis
從一個mysql instance(master)複製到另外一個mysql instance(slave)的過程咱們稱之爲mysql主從複製。在mysql複製的過程當中,主要由3個線程完成sql線程和IO線程在slave,另外一個IO線程在matser。sql
mysql複製的基本過程以下:數據庫
系統環境:centos7 MySQL版本:5.7.17 主服務器(master)IP:192.168.20.101 從服務器(slave)IP:192.168.20.99
配置master服務器vim
[root] # vim /etc/my.cnf
修改以下內容:centos
server-id=101 #設置服務器惟一的id,默認是1
log-bin=mysql-bin #啓用二進制日誌緩存
配置slave服務器服務器
[root] # vim /etc/my.cnf
修改以下內容:架構
server-id=99 #設置服務器惟一的id,默認是1
replicate-do-db=cto #只同步cto庫
slave-skip-errors=all #忽略因複製出現的全部錯誤併發
重啓主從mysql服務
[root] # service mysqld restart
在master上給slave受權
[root] # >grant replication slave on *.* to slave@192.168.20.99 identified by "123456789";
查看master上數據庫狀態
[root] # >show master status;
[root] # >change master to master_host='192.168.20.101', master_user='slave', master_password=rd='123456789', master_log_file='mysql-bin.000001', master_log_pos=442;
[root] # >start slave;
[root] # >show slave status \G;
檢驗
主(master)
從(slave)