主服務器 IP:192.168.0.1
從服務器IP:192.168.0.2
1、打開主服務器的mysql 配置文件 (默認linux下爲:my.cnf,Windows下爲:my.ini)
2、找到[mysqld]節點,添加或修改成以下內容。
server-id=1 #服務器ID
log-bin=mysql-bin01
binlog-do-db=test #這裏設置需要在主服務器記錄日誌的數據庫,只有在這裏設置了的數據庫才能被複制到從服務器
binlog-ignore-db=mysql #這裏設置在主服務器上不記度日誌的數據庫
expire_logs_days=10
3、進入主服務器的mysql控制檯,執行 show master status;
4、執行 SHOW VARIABLES LIKE "%log_bin%"; 查看主服務器的binlog是否開啓。 log_bin 這項爲 ON的話就表示已開啓
5、在主服務器上創建從服務器使用的帳號並給予相應的權限(主要是replication slave權限),爲避免配置過程中出現問題,可以也給予 reload,super權限,配好後再跟據實際情況取消。
grant all on *.* to 'backup'@'192.168.0.2' identified by '123456';
#backup是用戶名,123456是密碼
6、至此主服務器已設置完成。
7、接下來打開從服務器的mysql配置文件。在[mysqld]節點下,添加或修改成。
server-id=2
log-bin=mysql-bin02
replicate-do-db=test
replicate-ignore-db=mysql
expire_logs_days=10
#下面的配置只在mysql 5.1.7之前的版本纔有效。
master-host=192.168.0.1
master-user=backup
master-password=123456
master-port=3306
8、如果你是mysql 5.1.7之後版本的話,要進入從服務器的mysql控制檯,使用命令設置。
change master to
master_host='192.168.0.1',
master_user='backup',
master_password='123456',
master_log_file='mysql-bin01.000001', #此處填寫主服務器的日誌文件名,文章上方主服務狀態信息中的File的值,上面已用紅色強調。
master_log_pos=4887; #此處填寫主服務器日誌文件記錄的位置,文章上方主服務狀態信息中的Position的值,上面已用紅色強調。
9、執行上面命令後,再執行start slave,用啓動從服務器模式。
10、可以使用 show processlist查看進程,進程狀態如和下方紅色內容一樣的話,說明從服務器運行正常,已經連接上主服務器,開始接受並執行日誌。
11、然後最好重啓一下從服務器的MySQL。
12、在從服務器的MySQL控制檯,使用show slave status;命令,查看從服務器的運行狀態。顯示結果中以下兩項都爲Yes的話,那說明正常。
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
13、在主服務器上Test數據庫創建表,寫入數據,然後到從服務器上查看Test數據庫有沒有進行同步。