首先需要在同一個區域網內的兩台機器(當然也可以用一臺機器虛擬兩台機器出來),都安裝上mysql服務。 主機A: 192.168.1.100 從機B: 192.168.1.101 可以有多台從機。 1、先登錄主機 A,執行如下命令賦予從機許可權,如果有多台叢機,就執行多次: mysql>GRANT RE ...
首先需要在同一個區域網內的兩台機器(當然也可以用一臺機器虛擬兩台機器出來),都安裝上mysql服務。
主機A: 192.168.1.100
從機B: 192.168.1.101
可以有多台從機。
1、先登錄主機 A,執行如下命令賦予從機許可權,如果有多台叢機,就執行多次:
mysql>GRANT REPLICATION SLAVE ON *.* TO 'backup'@'192.168.1.101' IDENTIFIED BY '123456';
2、 打開主機A的my.cnf,輸入如下配置參數:
server-id = 1 #主機標示,整數
log_bin = /var/log/mysql/mysql-bin.log #確保此文件可寫
read-only =0 #主機,讀寫都可以
binlog-do-db =test #需要備份數據,多個寫多行
binlog-ignore-db =mysql #不需要備份的資料庫,多個寫多行
3、打開從機B的my.cnf,輸入如下配置參數:
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
master-host =192.168.1.100
master-user =backup
master-pass =123456
master-port =3306
master-connect-retry=60 #如果從伺服器發現主伺服器斷掉,重新連接的時間差(秒)
replicate-do-db =test #只複製某個庫
replicate-ignore-db=mysql #不複製某個庫
4、同步資料庫
進過以上的配置,分別重啟主機A和從機B,即可自動實現同步。
5、驗證
在主機A中,mysql>show master statusG;
在從機B中,mysql>show slave statusG;
能看到大致這些內容
File: mysql-bin.000001
Position: 1374
Binlog_Do_DB: test
Binlog_Ignore_DB: mysql
另外可以在主機A中,做一些INSERT, UPDATE, DELETE 操作,看看主機B中,是否已經被修改。