MYSQL 主從複製配置

1:修改主服務器配置

log-bin=mysql-bin //開啓日誌
binlog_format=mixed //這裏使用mixed,保證從服務器也一樣的格式
server-id=1 //這個id不能跟從服務器重複
binlog-do-db = test1,test2 //需要記錄log的數據庫名(默認所有的,這個參數設置會直接影響到bin-log的記錄,沒在裏面的數據庫是不會有bin-log的,如果需要記錄bin-log 但不需要同步到從數據庫可以在從數據庫設置參數,看下面)
binlog-ignore-db = test1,test2 //不需要記錄的數據庫名(默認所有的)
-----------------------搞完記得重啓數據庫--------------------------------------------

2:修改主服務器配置

log-bin=mysql-bin //開啓日誌
binlog_format=mixed //這裏使用mixed,保證跟主服務器一樣的格式
server-id=101 //這個id不能跟主服務器重複
replicate-do-db=test //需要同步的數據庫,多個,號隔開或者重複設置(默認所有的都複製)
replicate-ignore-db=db1,db2 //這個是不需要複製的
-----------------------------搞完記得重啓數據庫-------------------------------------------
3:在主服務器上爲從服務器分配一個賬號給從服務器連接

執行sql: GRANT replication slave ON *.* TO 'slave'@'39.97.99.%' IDENTIFIED BY '111111'; (需要root 賬戶)
參數解析
 replication slave : 權限爲複製
 *.*" : 可以操作的庫表(這裏默認*.*就好,需要同步哪些庫直接在從庫裏設置)
'slave' : 從庫登錄用戶名,可以修改
@'39.97.99.%' : 代表連接的服務器是 39.97.99.*,需要匹配所有的直接用@'%'即可
'111111' :  密碼

分配完後可以在從服務器測試能否連接上主數據庫

執行shell:  mysql -uslave -p111111 -h39.97.99.55 

能連接上就ok,連接失敗檢查端口 跟防火牆,安全組等

4:查看主庫狀態,獲取當前bin-log 信息,5.2配置需要用到

執行sql: show MASTER status
file                         Position	    Binlog_Do_Db 		Binlog_Ignore_Db	
mysql-bin.000016	310			test1,test2	

記下 bin-log 跟對應的Position

5:同步整個數據庫到從數據庫,這裏最好先停止主庫寫入,等主從測試ok 了在開啓,同步完成後配置從庫

1:停止從庫服務
執行sql:
stop slave; (有些數據庫是 slave stop;)

2:配置關聯主庫
執行sql:
change master to master_host=‘39.106.177.55’,master_port=3306,master_user=‘slave’, master_password=‘111111’,master_log_file=‘mysql-bin.000016’,master_log_pos=310;

3:開啓服務
sql:

start slave; (有些庫是slave start)

查看slave 狀態
sql:

show slave status

最後測試數據,看是否會同步數據

注意:
mysql 主從是通過bin-log 同步數據,中間有可能數據丟失,某些關聯數據丟失可能導致從庫後面一系列sql 執行失敗!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章