MySQL 復制基于主服務器在二進制日志(binlog)中跟蹤所有對數(shù)據(jù)庫的更改(更新啸如、刪除等等)侍匙。每個從服務器從主服務器接收主服務器已經(jīng)記錄到其二進制日志的保存的更新氮惯,以便從服務器可以對其數(shù)據(jù)拷貝執(zhí)行相同的更新。
slave服務器如何讀取master服務器的binlog想暗?可以通過用戶授權的方式妇汗,master服務器授予slave賬號
一、配置master服務器的/etc/my.cnf文件:
#聲明服務器id
server_id=132
#聲明二進制日志的文件為mysql-bin.xxx
log-bin=mysql-bin
#二進制日志的格式:statement/row/mixed
#注:statement:二進制記錄執(zhí)行語句说莫,如update杨箭,insert,適用于語句不長但影響行數(shù)較多的情況储狭;row:二進制記錄的是磁盤變化互婿,適用于語句較長且磁盤變化少的情況;mixed:混合模式辽狈,由系統(tǒng)決定慈参;
binlog_format=mixed
二、配置slave服務器的/etc/my.cnf文件:
server_id=139
log-bin=mysql-bin
relay-log=mysql-relay
binlog_format=mixed
三刮萌、啟動主從:
1.查看master服務器狀態(tài):show master status;
2.查看slave服務器狀態(tài): show slave status;
3.在master授權slave賬號:
grant replication client,replication slave on *.* to repli@'192.168.61.%' identified by '123456';
flush privileges;
4.關閉master和slave服務器的防火墻:service iptables stop
5.在slave服務器配置主從復制信息:
change master to
master_host='192.168.61.132',
master_user='repli',
master_password='123456',
master_log_file='mysql-bin.000001',
master_log_pos=352;
6.在slave服務器啟動主從復制:start slave;
注:關閉主從復制:stop slave;