復制的基本原理 (1)slave會從master讀取binlog來進行數(shù)據(jù)同步 (2)三步驟 原理圖 MySQL復制過程分成三步: master將改變記錄到二進制日志(binary log)。這些記錄過程叫做二進制日志事件,binary log events; slave將master的binary log events拷貝到它的中繼日志(relay log); slave重做中繼日志中的事件,將改變應用到自己的數(shù)據(jù)庫中。 MySQL復制是異步的且串行化的 復制的基本原則 (1)每個slave只有一個master (2)每個slave只能有一個唯一的服務器ID (3)每個master可以有多個salve 復制的最大問題 因為發(fā)生多次IO,存在延時問題 一主一從常見配置 1、mysql版本一致且后臺以服務運行 2、主從都配置在[mysqld]結點下,都是小寫 主機修改my.ini配置文件 主服務器唯一ID server-id=1 啟用二進制日志 log-bin=自己本地的路徑/data/mysqlbin log-bin=D:/devSoft/MySQLServer5.5/data/mysqlbin 設置不要復制的數(shù)據(jù)庫 binlog-ignore-db=mysql 設置需要復制的數(shù)據(jù)庫 binlog-do-db=需要復制的主數(shù)據(jù)庫名字 設置logbin格式 binlog_format=STATEMENT(默認) mysql主從復制起始時,從機不繼承主機數(shù)據(jù)
binlog_format=STATEMENT(默認) binlog_format=ROW binlog_format=MIXED
#從機服務id server-id = 2 #注意my.cnf 中有server-id = 1 #設置中繼日志 relay-log=mysql-relay
#創(chuàng)建用戶,并授權 GRANT REPLICATION SLAVE ON *.* TO '備份賬號’@’從機器數(shù)據(jù)庫IP’ IDENTIFIED BY '123456’;
#查詢master的狀態(tài) show master status; 執(zhí)行完此步驟后不要再操作主服務器MYSQL,防止主服務器狀態(tài)值變化
#查詢master的狀態(tài) CHANGE MASTER TO MASTER_HOST=’主機IP’,MASTER_USER=’創(chuàng)建用戶名’,MASTER_PASSWORD=’創(chuàng)建的密碼’, MASTER_LOG_FILE=’File名字’,MASTER_LOG_POS=Position數(shù)字;
start slave; show slave status\G; 下面兩個參數(shù)都是Yes,則說明主從配置成功! Slave_IO_Running: Yes Slave_SQL_Running: Yes
stop slave; |
|
來自: Fengsq501u81r4 > 《計算機》