Mysql主從復制 -- 一主一備
主從復制原理:
Mysql的主從復制是mysql本身自帶的一個功能,不需要額外的第三方軟件可以實現,其復制功能并不是copy文件實現的,而是借助binlog日志文件里面的SQL命令實現的主從復制,可以理解為在master端執行一條sql命令,slave端同樣會執行一遍,從而達到主從復制的效果。
從庫生成兩個線程,一個是IO線程,一個是SQL線程:
IO線程請求主庫 的binlog,并將binlog日志寫到replay log(中繼日志)中
,主庫會生成一個log dump線程,用來給從庫IO線程傳binlog
SQL線程會讀取relay log文件中的日志,并解析具體操作,來實現主從的操作一直,而最終數據一致。
主服務器節點:
vi /etc/my.conf 新增以下內容
server_id=177? ### 服務器id
log-bin=mysql-bin ###開啟日志文件
重啟mysql服務? service mysqld restart
驗證是否配置成功
show variables like ‘%server_id%’
能夠查詢對應的配置文件中的server_id說明已經配置成功
show master status
能夠看到同步的文件和行數,說明已經配置成功
從服務器節點:
vi /etc/my.conf 新增以下內容
server_id=177? ### 服務器id
log-bin=mysql-bin ###開啟日志文件
binlog do_db=test ## 同步數據庫
重啟mysql服務: service mysqld restart
驗證是否配置成功
show variables like ‘%server_id%’
能夠查詢對應的配置文件中的server_id說明已經配置成功
從服務器通過主服務器配置:
change master to master_host=’192.168.212.200’,master_user=’root’,master_passeord=’root’,master_log_file=’mysql-bin.000002’,master_log_pos=216;
開始同步
start slave
檢查從服務器復制功能狀態:
show slave status
原文:https://www.cnblogs.com/muliu/p/12408295.html