99久久国产露脸精品麻豆,欧美日韩精品小说,亚洲免费在线美女视频,国产三级中文字幕,91极品国产情侣高潮对白,国产亚洲一区二区三区不卡片,欧美jizz精品欧美性,久久国产精品久久国产片

MySQL主從復(fù)制配置

袁志蒙 3612次瀏覽

摘要:復(fù)制原理:Mysql中有一種日志叫做bin日志(二進制日志)。這個日志會記錄下所有修改了數(shù)據(jù)庫的SQL語句(INSERT,UPDATE,DELETE,ALTER TABLE,GRANT等等)。主從復(fù)制...

復(fù)制原理:

Mysql中有一種日志叫做bin日志(二進制日志)。這個日志會記錄下所有修改了數(shù)據(jù)庫的SQL語句(INSERT,UPDATE,DELETE,ALTER TABLE,GRANT等等)。

主從復(fù)制的原理其實就是

主服務(wù)器將改變記錄到二進制日志(binlog)中,從服務(wù)器將主服務(wù)器的binlog拷貝到它的中繼日志(relaylog),然后重做中繼日志中的事件,在本服務(wù)器上執(zhí)行一遍,這樣從服務(wù)器上的數(shù)據(jù)就和主服務(wù)器上的數(shù)據(jù)相同了。

環(huán)境說明:

兩臺服務(wù)器,192.168.1.1(當(dāng)做master),192.168.1.2(當(dāng)做slave)

一、配置二進制日志文件:

在master服務(wù)器上:

1:編輯主節(jié)點配置文件

vim /etc/my.cnf

2.啟用二進制日志文件,添加以下配置

server-id = 1
log-bin = mysql-bin
binlog-format = mixed

server-id = 1  //給服務(wù)器起一個獨特的ID

log-bin = mysql-bin  //聲明 二進制日志文件為 mysql-bin.XXXX

binlog-format = mixed  //設(shè)置二進制復(fù)制模式,可選值有(mixed/statement/row)

在slave服務(wù)器上:

1:編輯主節(jié)點配置文件

vim /etc/my.cnf

2.啟用二進制日志文件,添加以下配置

server-id = 2
log-bin = mysql-bin
binlog-format = mixed
relay-log = relay-log

server-id = 2  //給服務(wù)器起一個獨特的ID

log-bin = mysql-bin  //聲明 二進制日志文件為 mysql-bin.XXXX

binlog-format = mixed  //設(shè)置二進制復(fù)制模式,可選值有(mixed/statement/row)

relay-log = relay-log  //聲明 relay-log日志文件為 relay-log.XXXX

3重啟mysql:

service mysqld start

二、建立主從連接

1、在master的數(shù)據(jù)庫中建立一個備份帳戶:每個slave使用標(biāo)準(zhǔn)的MySQL用戶名和密碼連接master。進行復(fù)制操作的用戶會授予REPLICATION SLAVE權(quán)限。用戶名的密碼都會存儲在文本文件master.info中,命令如下:

GRANT REPLICATION SLAVE,RELOAD,SUPER ON *.*  TO backup@'192.168.1.2' IDENTIFIED BY '1234';

說明:建立一個帳戶backup,并且只能允許從192.168.1.2這個地址上來登陸,密碼是1234。

主服務(wù)器配置完成.

注意:確保主服務(wù)器的iptables沒有阻斷3306的訪問端口。


2.在slave服務(wù)器上執(zhí)行以下命令,連接master服務(wù)器:

CHANGE MASTER TO MASTER_HOST='192.168.1.1',
MASTER_USER='backup',MASTER_PASSWORD='1234',MASTER_LOG_FILE='mysql-bin.000001',MASTER_LOG_POS=4;

說明:MASTER_LOG_FILE是指定讀取主服務(wù)器的哪個binlog日志文件,MASTER_LOG_POS是指定從該日志的哪個位置開始讀,這兩個選項要從master服務(wù)器上運行命令:SHOW MASTER STATUS; 查看

查看slave的設(shè)置是否正確:

SHOW SLAVE STATUS
Slave_IO_State:
Master_Host: server1
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 4
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 4
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: No
Slave_SQL_Running: No
 ...omitted...
Seconds_Behind_Master: NULL

Slave_IO_State, Slave_IO_Running, 和Slave_SQL_Running是No,表明slave還沒有開始復(fù)制過程。

在slave上啟動復(fù)制線程 :

START SLAVE;

可以運行 SHOW SLAVE STATUS 查看輸出結(jié)果:

Slave_IO_State: Waiting for master to send event
Master_Host: server1
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 164
Relay_Log_File: mysql-relay-bin.000001
Relay_Log_Pos: 164
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
...omitted...
Seconds_Behind_Master: 0

當(dāng)看到Slave_IO_Running: YES、Slave_SQL_Running: YES才表明狀態(tài)正常。

至此,mysql的主從復(fù)制配置完成。

3.實際測試

登錄192.168.1.1主MySQL,添加一張數(shù)據(jù)表,并添加數(shù)據(jù),然后登陸192.168.1.2從MySQL,發(fā)現(xiàn)剛才新建的表和數(shù)據(jù)都出現(xiàn)了,主從復(fù)制的配置就是如此的簡單。

隨機內(nèi)容

表情

共1條評論
  • 網(wǎng)友評論:

    贊一個

    2018-10-30 16:10:23 回復(fù)

    點擊加載