mysql5.7主從複製配置

安裝兩臺服務器

主(master)IP:192.168.1.98

從(slave)IP:192.168.1.99


master上的my.cnf配置如下:

[mysql]
default-character-set=utf8

[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
max_heap_table_size=512M

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
server-id = 2  #server_id,主從不能相同
log-bin = mysql-bin #打開二進制日誌
binlog-do-db = kairui #需要同步的數據庫
binlog-ignore-db = mysql #不需要同步的數據庫
binlog-ignore-db = information_schema
binlog-ignore-db = sys
expire_logs_days = 2 #自動清理 2 天前的log文件,可根據需要修改

slave上的my.cnf配置如下:

[mysql]
default-character-set=utf8

[mysqld]
default-storage-engine=INNODB
character_set_server=utf8
max_heap_table_size=512M


sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

skip-name-resolve

server-id = 3

#作爲從機的配置
replicate-ignore-db = mysql              # 不從主機同步的數據庫(多個寫多行)
replicate-ignore-db = information_schema
replicate-ignore-db = sys
replicate-ignore-db = performance_schema
replicate-do-db = kairui                 # 要從主機同步的庫(多個寫多行)
log-slave-updates  # 啓用從機服務器上的slave日誌功能,使這臺計算機可以用來構成一個鏡像鏈(A->B->C)
slave-skip-errors=all  # 跳過錯誤,從機一般應該配置該項

[mysqldump]
quick
max_allowed_packet = 32M #服務器發送和接受的最大包長度


按照上面配置好後先後啓動master,slave,或者重啓master和slave。


在命令行上登錄slave,執行如下命令。

change master to master_host='192.168.1.98', master_user='root', master_password='123456', master_log_file='mysql-bin.000010', master_log_pos=400;

start slave;

執行完上面命令後,就開始主從拷貝了。上面的指令注意幾個參數master_log_file和master_log_pos要和master數據庫上的保持一致。通過在master上執行show master status來得到這兩個參數。

 

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