安裝兩臺服務器
主(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來得到這兩個參數。