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
接下來在主數據庫添加數據然后再看從數據庫是不是也有了。