MySQL主從復(fù)制是指在MySQL數(shù)據(jù)庫(kù)中,將數(shù)據(jù)從一臺(tái)主服務(wù)器同步到備服務(wù)器,以提高數(shù)據(jù)的安全性和可用性。下面介紹如何搭建MySQL主從復(fù)制項(xiàng)目。
1. 準(zhǔn)備工作 a. 在主服務(wù)器和備服務(wù)器上安裝MySQL,保證版本一致。 b. 確認(rèn)主服務(wù)器和備服務(wù)器的網(wǎng)絡(luò)互通。 c. 確認(rèn)主服務(wù)器上的MySQL服務(wù)開(kāi)啟,并允許外網(wǎng)訪(fǎng)問(wèn)。 2. 配置主服務(wù)器 a. 編輯主服務(wù)器的my.cnf文件,添加以下配置: [mysqld] log-bin=mysql-bin #開(kāi)啟binlog日志 server-id=1 #設(shè)置服務(wù)器標(biāo)識(shí) binlog-do-db=dbname #僅復(fù)制指定數(shù)據(jù)庫(kù) b. 重啟MySQL服務(wù)。 3. 配置備服務(wù)器 a. 編輯備服務(wù)器的my.cnf文件,添加以下配置: [mysqld] server-id=2 #設(shè)置服務(wù)器標(biāo)識(shí) b. 重啟MySQL服務(wù)。 4. 授權(quán)主從賬戶(hù) a. 在主服務(wù)器上執(zhí)行以下命令: CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; b. 在備服務(wù)器上執(zhí)行以下命令: CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=107; #這里的107需要根據(jù)主服務(wù)器的日志情況進(jìn)行調(diào)整 5. 啟動(dòng)備服務(wù)器的復(fù)制 a. 在備服務(wù)器上執(zhí)行以下命令: START SLAVE; b. 可通過(guò)SHOW SLAVE STATUS查看復(fù)制狀態(tài)。 6. 測(cè)試 a. 在主服務(wù)器上創(chuàng)建或修改數(shù)據(jù)庫(kù)表。 b. 查看備服務(wù)器上是否反映出這些變化。