17mysql複製

安佰勝發表於2011-01-17


17mysql複製

=================

使用mysql複製的好處
 避免主庫故障後無法對外提供服務
 避免主庫備份時的鎖定,同步後備份再叢庫上進行
 保持多份資料副本,避免丟失資料
 叢庫提供讀功能,分散主庫壓力

基本原理:
 主庫叢庫經過初始化保證資料相同後主庫通過二進位制日誌保持對資料庫變化的跟蹤
 從庫根據相同的日誌重演主庫中資料的變化

---------

配置:
 
第一步:
 授權從庫可以連線主庫並進行更新
 這個可以在主庫上進行,方法是建立一個從庫的賬戶也可以使用grant replication
 grant replication slave on *.* to repadmin@slave identified by 'xxxxx';
第二步:
 從主庫複製到從庫,實際上就是初始化,保證兩邊一致
第三步:
 配置主庫,給主庫一個複製id編號,主從的id號都必須是唯一的
 同時需要設定主庫使用二進位制日誌檔案
 server-id=1
 log-bin=binary_log
第四步:
 關機並重啟主庫,使新的設定生效
第五步:
 登入從庫,給定從庫一個複製id編號並修改其他引數
 server-id=2
 master-host=master
 master-user=repadmin
 master-password=xxxxx
第六步:
 修改完從庫後重啟從庫和伺服器,使其生效
 從庫將在資料目錄中建立master.info檔案,記錄有關複製的資訊


-------------

管理複製過程

change master命令

change master to
 master_host='master_name',
 master_user='slave_name',
 master_password='slave_password',
 master_port='prot_number',
 master_log_file='binlog_filename',
 master_connect_rettry='value',
 relay_log_file='relaylog_filename',
 relay_log_pos='value';

各個引數含義:
 master_host    主伺服器主機名
 master_user    連線主伺服器時使用的使用者名稱
 master_password  連線主庫使用的密碼
 master_port    連線主庫使用的埠
 master_log_file  複製開始時讀取的主庫的二進位制日誌檔名
 master_log_pos  複製開始時讀取的主庫的二進位制日誌檔案的位置
 master_connect_rettry  連線操作之間等待的秒數
 relay_log_file  開始複製時執行的從庫中繼日誌名
 relay_log_pos=  開始複製時執行的從庫中繼日誌位置

--------

purge master命令
 刪除主庫上的熱進位制日誌

purge master logs to binary-log
purge master logs before date

例:
mysql>purge master logs to bin_log.999;
mysql>purge master logs to now();

-------

start slave命令

開始恢復複製
show slave status可以監督從庫的活動

---------

stop slave命令

終止或者結束複製

show slave status提供的資訊
 
 connect_regry   試圖連線主庫的次數
 read_master_log_pos  主庫二進位制日誌的位置
 relay_log_file  當前中繼日誌檔案
 relay_log_pos   當前中繼日誌檔案位置
 relay_log_space  所有中繼檔案的大小
 
----------

show slave hosts命令

 server_id  從庫的複製id
 master_id  主庫的複製id
 host    從庫的主機名
 port    從庫的連線埠

----------  

show processlist

 state  包含有關伺服器正在處理內容的資訊
 db   執行緒資料庫
 command 執行緒執行的當前語句
 time  執行緒執行的時間

----------

load data from master

 從庫從主庫中獲取資料
 但是有有些限制, 


-----------

show binlog events
 顯示日誌事件

 log_name  二進位制檔名
 pos     日誌中事件的位置
 event_type 事件型別

------------

show master status

 file   二進位制更新日誌檔名
 position 在主庫正在寫的二進位制日誌中的當前位置
 binlog_do_db 二進位制更新日誌中記錄的資料庫列表
 binlog_ignore_db 二進位制更新日誌中忽略和沒有記錄的資料庫列表

 


 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13177610/viewspace-684375/,如需轉載,請註明出處,否則將追究法律責任。

相關文章