十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
MySQL復(fù)制技術(shù):主從
在MySQL里面建立最基本的復(fù)制,可以總結(jié)為以下三個(gè)步驟:
1. 配置一個(gè)服務(wù)器作為Master;
2. 配置一個(gè)服務(wù)器作為Slave;
3. 將Slave連接到Master.
1) 配置Master
1. my.cnf中參數(shù)的配置
將服務(wù)器配置為Master。要確保該服務(wù)器有一個(gè)活動(dòng)的二進(jìn)制日志(binary log) 和唯一的服務(wù)器ID.
a. 要是Master上面的日志沒有刪除過的話,二進(jìn)制日志記錄了Master上面的所有改變,這些日志在Slave上面重新執(zhí)行就好了。
b. 服務(wù)器ID用于區(qū)分服務(wù)器
創(chuàng)建二進(jìn)制日志和服務(wù)器ID 都是在my.cnf里面設(shè)置的
其他的參數(shù)在這里就不展示了
log-bin = /data/mysql/log/vm1-bin.log
log-bin-index = /data/mysql/log/master-bin.index
server-id = 1
log-bin選項(xiàng) 給出了二進(jìn)制日志產(chǎn)生的所有文件的基本名(默認(rèn)值是 主機(jī)名-bin);log-bin-index選項(xiàng)給出了二進(jìn)制索引文件的文件名,大家都知道這個(gè)是所有二進(jìn)制文件的列表。
每一個(gè)服務(wù)器都有一個(gè)唯一的 server-id
就按照上面的配置 重啟服務(wù) mysqld service restart 使得參數(shù)生效。
2.在master上面創(chuàng)建復(fù)制用戶 并且賦予權(quán)限
例如:
create user repuser;
grant replication slave on *.* to repuser identified by 'aa12AA,.';
2) 配置Slave
1. my.cnf中參數(shù)的配置
relay-log-index = /data/mysql/log/vm2-slave-bin.index
relay-log=/data/mysql/log/vm2-slave-bin.log
server-id = 2
relay-log-index 選項(xiàng)是中繼日志索引文件 ,relay-log選項(xiàng)是中繼日志文件名。
2.重啟服務(wù) 使得參數(shù)生效。
3) 連接Master和Slave
首先找到Master的服務(wù)器信息 1.主機(jī)名 2.端口號(hào)(master的 my.cnf里面有) 3.Master上擁有replication slave 權(quán)限的賬號(hào)和密碼 (比如我們剛才建立的reply_user)
在slave上面執(zhí)行建立連接的語句:
change master to
master_host = '192.168.12.181',
master_port = 3306,
master_user = 'repuser',
master_password = 'aa12AA,.';
-- 啟動(dòng)復(fù)制
start slave ;
-- 查看復(fù)制的狀態(tài)
show slave status\G;