從零開始學習Linux:Day13 mysql 主從同步
mysql主從同步,可以實現mysql數據庫備份,基於數據備份,從而實現故障轉移或數據庫讀寫分離。
常見的mysql主從架構一般有:一主一從,一主多從,互爲主從。
下面主要分享:一主一從實現,即:一個主庫,一個從庫。從庫的數據庫環境完全與主庫一致。
主庫:192.168.68.128
從庫:192.168.68.129
做mysql主從,建議主庫、從庫mysql版本要一致,不能出現mysql與mariadb混搭的情況。
這裏測試環境,主庫,從庫都均爲mariadb5.5
1、主從原理:
主庫先授權給從庫,從庫接到授權後,訪問主庫的二進制日誌,拿 到二進制日誌到從庫的中繼日誌,從中繼日誌決定sql動作。
2、配置主庫
由主從原理,
首先,要配置主庫的二進制日誌功能。
配置文件[mysqld]模塊下增加:
server-id=1
log-bin=128-bin
確認二進制日誌功能是否開啓
show master status
如上圖可以看到二進制日誌功能已經開啓。
然後,授權給從庫
grant replication slave on *.* to "tongbu"@"192.168.68.129" identified by "123456";
查看master主庫狀態:
flush privileges
show master status
3、配置從庫
修改配置文件,在[mysqld]模塊下增加:
server-id=2
重啓mariadb服務
指定master
MariaDB [(none)]> change master to
-> master_host="192.168.68.128",
-> master_user="tongbu",
-> master_password="123456",
-> master_log_file="128-bin.000001",
-> master_log_pos=477;
查看從庫slave狀態
slave start
show slave status\G
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
表示從庫配置成功。
4、測試
主庫數據庫:
從庫:
現在在主庫創建一個test002數據庫
查看從庫情況,可以看到,從庫數據庫中出現了test002