MySQL主從配置是在一個(gè)MySQL主服務(wù)器和一個(gè)或多個(gè)MySQL從服務(wù)器間的一種數(shù)據(jù)庫架構(gòu)。其目的是為了提高數(shù)據(jù)庫的可用性和擴(kuò)展性。
對(duì)于Linux系統(tǒng),MySQL主從配置的具體步驟如下:
1. 配置主服務(wù)器 在主服務(wù)器上的my.cnf配置文件中添加如下配置: [mysqld] server-id=1 log-bin=mysql-bin binlog-do-db=mydb 其中,server-id為唯一標(biāo)識(shí)主服務(wù)器的ID,log-bin開啟二進(jìn)制日志,binlog-do-db指定需要復(fù)制的數(shù)據(jù)庫名稱。 2. 配置從服務(wù)器 在從服務(wù)器上的my.cnf配置文件中添加如下配置: [mysqld] server-id=2 relay-log=mysql-relay-bin log-slave-updates=1 其中,server-id為唯一標(biāo)識(shí)從服務(wù)器的ID,relay-log作為從服務(wù)器的中繼日志,log-slave-updates啟用從服務(wù)器記錄二進(jìn)制日志。 3. 啟動(dòng)主從復(fù)制 連接主服務(wù)器的MySQL客戶端,執(zhí)行如下SQL命令,創(chuàng)建從服務(wù)器用于復(fù)制的用戶: GRANT REPLICATION SLAVE ON *.* TO 'slaveuser'@'%' IDENTIFIED BY 'slavepwd'; 在從服務(wù)器上執(zhí)行如下SQL命令,啟動(dòng)主從復(fù)制: CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='slaveuser', MASTER_PASSWORD='slavepwd', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=501; 其中,MASTER_HOST為主服務(wù)器的IP地址或主機(jī)名,MASTER_PASSWORD為從服務(wù)器用于復(fù)制的用戶密碼,MASTER_LOG_FILE和MASTER_LOG_POS為主服務(wù)器當(dāng)前日志文件和位置。 4. 檢查主從復(fù)制狀態(tài) 在從服務(wù)器上執(zhí)行如下SQL命令,檢查主從復(fù)制狀態(tài): SHOW SLAVE STATUS\G 如果復(fù)制正常,結(jié)果中Slave_IO_State為“Waiting for master to send event”,Slave_IO_Running和Slave_SQL_Running都為“YES”,則主從復(fù)制就已經(jīng)成功配置。
上一篇mysql 主表和從表
下一篇mysql 主存