登錄主服務器mysql
進入mysql,建立一個mysql用戶,用來做爲從服務器鏈接使用sql
mysql>GRANT REPLICATION SLAVE ON *.* TO ‘test’@’192.168.1.101‘ IDENTIFIED BY ‘123456’;
數據庫
修改my.ini文件(windows server 中修改mydefault.ini ,修改完成後更名成爲my.ini)windows
server-id = 1
log-bin = mysql-bin 服務器
進入從服務器修改my.ini文件函數
5. 重啓主服務器數據庫及從服務器數據庫性能
6. 查看從服務器同步狀態
spa
show slave status\G;日誌
正常狀態orm
slave_io_running : yes
slave_sql_running: yes
注意:主服務器的binlog-format模式我用的是STATEMENT,從服務器的binlog-format模式我用的是ROW。
① STATEMENT模式(SBR)
每一條會修改數據的sql語句會記錄到binlog中。優勢是並不須要記錄每一條sql語句和每一行的數據變化,減小了binlog日誌量,節約IO,提升性能。缺點是在某些狀況下會致使master-slave中的數據不一致(如sleep()函數, last_insert_id(),以及user-defined functions(udf)等會出現問題)
② ROW模式(RBR)
不記錄每條sql語句的上下文信息,僅需記錄哪條數據被修改了,修改爲什麼樣了。並且不會出現某些特定狀況下的存儲過程、或function、或trigger的調用和觸發沒法被正確複製的問題。缺點是會產生大量的日誌,尤爲是alter table的時候會讓日誌暴漲。
③ MIXED模式(MBR)
以上兩種模式的混合使用,通常的複製使用STATEMENT模式保存binlog,對於STATEMENT模式沒法複製的操做使用ROW模式保存binlog,MySQL會根據執行的SQL語句選擇日誌保存方式。