在開(kāi)發(fā)應(yīng)用時(shí),對(duì)于數(shù)據(jù)庫(kù)的備份是必不可少的環(huán)節(jié),可以更加有保障地保護(hù)我們的數(shù)據(jù)。而在MySQL中,主從備份是一種常見(jiàn)的架構(gòu),它可以讓我們的數(shù)據(jù)更加可靠地備份。
MySQL主從備份的原理就是通過(guò)在主機(jī)上的操作產(chǎn)生的變更信息,通過(guò)二進(jìn)制日志的形式傳輸給從機(jī),從而達(dá)到同步數(shù)據(jù)的效果,這樣當(dāng)主機(jī)的數(shù)據(jù)出現(xiàn)問(wèn)題時(shí),我們可以通過(guò)從機(jī)來(lái)恢復(fù)數(shù)據(jù)。
下面是一個(gè)MySQL主從備份的簡(jiǎn)單的操作過(guò)程:
1. 首先需要在主機(jī)上開(kāi)啟二進(jìn)制日志功能 vi /etc/my.cnf 在[mysqld]標(biāo)簽下添加如下內(nèi)容: log-bin=mysql-bin server-id=1 2. 對(duì)從機(jī)進(jìn)行配置 vi /etc/my.cnf 在[mysqld]標(biāo)簽下添加如下內(nèi)容,其中server-id的值應(yīng)該與主機(jī)不同: server-id=2 relay-log=mysql-relay-bin read-only=1 3. 配置主從關(guān)系 在主機(jī)上執(zhí)行以下命令: GRANT REPLICATION SLAVE ON *.* TO 'slave'@'從機(jī)的IP' IDENTIFIED BY '密碼'; 執(zhí)行以下命令查看master的當(dāng)前狀態(tài): show master status; 4. 在從機(jī)上啟動(dòng)復(fù)制 執(zhí)行以下命令: CHANGE MASTER TO MASTER_HOST='主機(jī)的IP',MASTER_USER='slave',MASTER_PASSWORD='密碼',MASTER_LOG_FILE='上一步中show master status獲取的日志文件名',MASTER_LOG_POS=上一步中show master status獲取的日志位置; 執(zhí)行以下命令啟動(dòng)復(fù)制: start slave; 5. 查看復(fù)制狀態(tài) 執(zhí)行以下命令查看從機(jī)的復(fù)制狀態(tài): show slave status\G;
這樣,我們就可以通過(guò)主從備份方式來(lái)保護(hù)我們的數(shù)據(jù),當(dāng)主機(jī)數(shù)據(jù)出現(xiàn)問(wèn)題時(shí),我們可以通過(guò)從機(jī)來(lái)恢復(fù)數(shù)據(jù),從而達(dá)到數(shù)據(jù)備份的重要目標(biāo)。