MySQL主從日志詳解及配置方法
log)和中繼日志(relay log)來(lái)實(shí)現(xiàn)的。
一、二進(jìn)制日志
MySQL的二進(jìn)制日志是一種記錄MySQL所有修改操作的日志文件,包括對(duì)數(shù)據(jù)庫(kù)表的增、刪、改操作等。主庫(kù)在執(zhí)行完一個(gè)事務(wù)后,會(huì)將該事務(wù)的修改操作記錄到二進(jìn)制日志中,從庫(kù)會(huì)定期向主庫(kù)請(qǐng)求并接收二進(jìn)制日志文件,然后將其寫(xiě)入中繼日志中,再重放到從庫(kù)的數(shù)據(jù)庫(kù)中。
二進(jìn)制日志的作用:
1. 數(shù)據(jù)恢復(fù):通過(guò)回放二進(jìn)制日志可以將數(shù)據(jù)庫(kù)恢復(fù)到指定的時(shí)間點(diǎn)。
2. 數(shù)據(jù)同步:從庫(kù)通過(guò)讀取主庫(kù)的二進(jìn)制日志來(lái)實(shí)現(xiàn)主從復(fù)制。
3. 數(shù)據(jù)備份:通過(guò)備份二進(jìn)制日志可以實(shí)現(xiàn)增量備份,減少備份數(shù)據(jù)的大小和時(shí)間。
二、中繼日志
中繼日志是從庫(kù)上的一種日志文件,主要用于存儲(chǔ)從主庫(kù)讀取到的二進(jìn)制日志。中繼日志和二進(jìn)制日志的主要區(qū)別在于,中繼日志是從庫(kù)上的文件,而二進(jìn)制日志是主庫(kù)上的文件。
中繼日志的作用:
1. 數(shù)據(jù)同步:從庫(kù)通過(guò)讀取中繼日志,將主庫(kù)的修改操作同步到從庫(kù)上。
2. 數(shù)據(jù)恢復(fù):當(dāng)從庫(kù)出現(xiàn)異常時(shí),可以通過(guò)中繼日志進(jìn)行數(shù)據(jù)恢復(fù)。
三、配置方法
1. 配置主庫(kù)
yf配置文件中添加以下參數(shù):
ysql # 開(kāi)啟二進(jìn)制日志
server-id=1 # 主庫(kù)的唯一標(biāo)識(shí)
log-do-db=test # 指定需要復(fù)制的數(shù)據(jù)庫(kù)
logoreysql # 忽略不需要復(fù)制的數(shù)據(jù)庫(kù)
2. 配置從庫(kù)
yf配置文件中添加以下參數(shù):
server-id=2 # 從庫(kù)的唯一標(biāo)識(shí)
# 開(kāi)啟中繼日志
replicate-do-db=test # 指定需要復(fù)制的數(shù)據(jù)庫(kù)
oreysql # 忽略不需要復(fù)制的數(shù)據(jù)庫(kù)
aster-host=192.168.1.1 # 主庫(kù)的IP地址
aster-user=slave # 從庫(kù)連接主庫(kù)的用戶名
aster-password=123456 # 從庫(kù)連接主庫(kù)的密碼
aster-port=3306 # 主庫(kù)的端口號(hào)
3. 啟動(dòng)主從復(fù)制
在主庫(kù)上,執(zhí)行以下命令開(kāi)啟二進(jìn)制日志:
ysqlaster status;
+------------------+----------+--------------+------------------+
loglogore_DB
+------------------+----------+--------------+------------------+
ysql.000001 | 154 | test
+------------------+----------+--------------+------------------+
set (0.00 sec)
在從庫(kù)上,執(zhí)行以下命令連接主庫(kù)并啟動(dòng)復(fù)制:
ysqlgeasterasterasterasterasterasterysqlaster_log_pos=154;
ysql>start slave;
ysql>show slave status \G;
*************************** 1. row ***************************
gasterdt
Master_Host: 192.168.1.1
Master_User: slave
Master_Port: 3306
nect_Retry: 60
ysql.000001
Read_Master_Log_Pos: 154
.000001
Relay_Log_Pos: 4
ysql.000001
ning: Yes
ning: Yes
set (0.00 sec)
至此,主從復(fù)制已經(jīng)成功啟動(dòng)。
yf配置文件中添加相關(guān)參數(shù),并在主庫(kù)上開(kāi)啟二進(jìn)制日志,在從庫(kù)上連接主庫(kù)并啟動(dòng)復(fù)制。