標籤:伺服器 master 資料庫 二進位 mysql
Mysql從庫級聯這種方式就是在mysql的從庫後面再接一個從庫,這種方式可以用在主庫不能停的情況,還需要多加備份資料庫,就可以在從庫後在接一個從庫。但是第二個從庫的系統內容需要和第一個從庫的系統內容完全一致。
主庫 master : 10.10.10.139
從庫salve1 : 10.10.10.133
從庫salve2 : 10.10.10.136
在主庫master上配置的操作
Vim /etc/my.cnf
log-bin=mysql-bin
server-id = 1
啟動mysql服務後查看資料庫有幾個庫 showdatabases
從庫salve1上的配置
Vim /et c/my.cnf
server-id = 100 (這裡的server-id要求和master的不同即可)
log-slave-updates=1 (這個參數是必須加的,log_slave_updates是將從伺服器從主伺服器收到的更新記入到從伺服器自己的二進位記錄檔中。)
從庫salve2上的配置
Vim /etc/my.cnf
log-bin=mysql-bin
server-id = 200
之後需要有授權操作在master上授權REPLICATION許可權,這個許可權是能夠讓slave1將資料同步到本地的。
GRANTREPLICATION SLAVE ON *.* TO ‘slave‘@‘%‘ IDENTIFIED BY ‘123456 ’
%處根據實際的工作需要添加IP
在slave1上也需要授權給slave2
GRANTREPLICATION SLAVE ON *.* TO ‘slave‘@‘%‘ IDENTIFIED BY ‘123456 ’
授權完成後需要配置slave1連到master
在master上show master status 查看binglog檔案的名字,節點進行記錄
在slave1上
Slave stop
Reset slave
change master to
master_host=‘10.10.10.139‘,
master_user=‘slave‘,
master_password=‘123456‘,
master_log_file=‘mysql-bin.00000X‘,
master_log_pos=xxx
slave start
show slavestatus 查看進程狀態是否為
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
如果不是根據報錯提示尋找問題所在
當slave1 開啟slave start之後 show master status 查看binglog檔案的名字,節點進行記錄
登入slave2 做和salve1同樣的操作
Slave stop
Reset slave
change master to
master_host=‘10.10.10.133‘,(這裡的IP是需要寫成slave1的)
master_user=‘slave‘,
master_password=‘123456‘,
master_log_file=‘mysql-bin.00000X‘,
master_log_pos=xxx
slave start
測試主-從-從模式是否成功
建立資料庫,在庫中建表並添加資料
CREATE DATABASE`test2`
CREATE TABLE`t_table` (
`name` char(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`note` varchar(50) DEFAULT NULL
) ENGINE=MyISAMDEFAULT CHARSET=latin1
insert intot_table values(‘linda‘,23,‘beijing‘);
insert intot_table values(‘jerry‘,33,‘shanghai‘);
登入slave1,slave2查看資料庫是否已經同步
如果是實際的生產環境最好先進行鎖表,在進行操作,以免造成資料丟失。
mysql從庫級聯