linux 雙機熱備


http://www.centoscn.com/mysql/2016/0317/6853.html

前提兩台服務器的數據庫版本要一樣

主服務器:192.168.1.1(Master)

從服務器:192.168.1.2(Slave)

第一步:給創建主服務器創建連接帳戶,該帳戶必須授予REPLICATION SLAVE權限。因為從mysql版本3.2以后就可以通過REPLICATION對其進行雙機熱備的功能操作

mysql> grant replication slave on . to 'master_user' @'192.168.1.2'  identified by  '123456';
mysql> flush privileges; 

創建好同步連接帳戶后,我們可以通過在從服務器(Slave)上用replicat帳戶對主服務器(Master)數據庫進行訪問下,看下是否能連接成功。 
在從服務器(Slave)上輸入如下指令: 
[root@localhost ~]# mysql -h 192.168.1.1 -umaster_user –p

第二步:修改配置文件

修改主服務器配置文件/etc/my.cnf

server-id = 1 
log-bin=mysql-bin 
binlog-do-db = test
binlog-ignore-db = mysql 

其中前兩行可能就有,可以不用動,沒有再添加,添加下面兩行即可 binlog-do-db是你要同步的數據庫(據說需要同步多個數據庫的,好像是binlog-do-db再寫一遍,不是傳統的將兩個數據用逗號或者空格分開),binlog-ignore-db是不需要同步的數據庫(不同步的數據如果是多個的話和binlog-do-db一樣,binlog-ignore-db也是一樣)

修改從服務器配置文件/etc/my.cnf

server-id = 2
log-bin=mysql-bin 
binlog-do-db = test
binlog-ignore-db = mysql 

主服務器的server-id和從服務器的server-id不能一樣

第三步:查看主服務器Master狀態

登錄到主服務器數據庫用以下命令查看Master狀態,如下圖:

show master status\G;

第四步:最重要的一步

登錄從服務器數據庫,先停步slave服務線程,這個是很重要的,如果不這樣做會造成以下操作不成功。

mysql>stop slave; 

mysql>change master to master_host='192.168.1.1',master_user='master_user',master_password='123456', master_log_file='mysql-bin.000004',master_log_pos=13310;

master_host是主服務器IP地址,master_user是剛才第一步創建的連接帳戶用戶名,master_password是密碼,(最重要的來了)master_log_file是第三步中主服務器數據庫的Master狀態的File,master_log_pos是主服務器數據庫的Master狀態Position。然后啟動slave服務線程mysql>start slave; 

最后一步:查看從服務器slave狀態:

mysql> SHOW SLAVE STATUS\G;

當看到以下兩項都為yes,就說明配置成功了

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

接下來在主數據庫添加數據然后再看從數據庫是不是也有了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM