MySQL replicaton
創(chuàng)新互聯(lián)公司是一家集網站建設,西崗企業(yè)網站建設,西崗品牌網站建設,網站定制,西崗網站建設報價,網絡營銷,網絡優(yōu)化,西崗網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
環(huán)境:主:192.168.48.150
從:192.168.48.152
簡單的說,就是master把數(shù)據(jù)庫的改變寫入二進制日志,slave同步這些二進制日志,并根據(jù)這些二進制進行數(shù)據(jù)操作。
mysql Replicaton的用途
1.fail over
2.backup server
3.high performance
master和slave上的數(shù)據(jù)是一樣的,如果我們從master上進行寫操作,slave上進行讀操作,這就叫讀寫分離。
配置Replication
step1:
Slave是通過MYSQL連接登陸到Master上來讀取二進制日志的。因此需要在Master上給Slave配置權限。
mysql>GRANT REPLICATION SLAVE ON *.* TO 'repl'@'slaveip' IDENTIFIED BY 'replPass';
mysql>FLUSH PRIVILEGES;
eg:在Master上受權:
mysql> grant replication slave on *.* to repl@192.168.48.152 identified by 'repl';
mysql> flush privileges;
在slave上測試連接:
#mysql -h292.168.48.150 -urepl -prepl
可以連上表示沒有問題。
step2:
在Master上要打開二進制日志,并標識server-id。
server-id用于唯一標識主機,數(shù)字取值范圍1-2**32-1.
#vi /etc/my.cnf
[mysqld]
log-bin
binlog-format=row
sync-binlog=1
server-id=1
#service mysqld restart
step3:
制作一個Master的完整備份,并且執(zhí)行prepare。
#這里的原理是,將主要原有的數(shù)據(jù)備份打包到從上,從 -->master_log_pos=341; step8: 啟動replication,并檢查結果。 in slave: mysql>start slave; mysql>show slave status\G; 結果如下: *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event(當前無同步事件) Master_Host: 192.168.48.150(主 ip) Master_User: repl(主用戶) Master_Port: 3306(端口) Connect_Retry: 60(重試時間/s) Master_Log_File: mysqld-bin.000001(主同步二進制文件) Read_Master_Log_Pos: 341(主位置號) Relay_Log_File: mysqld-relay-bin.000002(從二進制文件) Relay_Log_Pos: 252(從位置號)#主從的號雖然不一樣,但是是有對應關系的,邏輯上是一樣的。 Relay_Master_Log_File: mysqld-bin.000001 Slave_IO_Running: Yes(必須為yes時才正常) Slave_SQL_Running: Yes(必須為yes時才正常) #主會啟運一個進程,從會啟運兩個進程,我們可以執(zhí)行如下語句查看: master_mysql>show processlist\G; *************************** 1. row *************************** Id: 11 User: repl Host: 192.168.48.152:54413 db: NULL Command: Binlog Dump Time: 707 State: Has sent all binlog to slave; waiting for binlog to be updated Info: NULL *************************** 2. row *************************** slave_mysql>show processlist\G; *************************** 2. row *************************** Id: 3 User: system user Host: db: NULL Command: Connect Time: 680 State: Waiting for master to send event Info: NULL *************************** 3. row *************************** Id: 4 User: system user Host: db: NULL Command: Connect Time: 680 State: Has read all relay log; waiting for the slave I/O thread to update it Info: NULL 3 rows in set (0.00 sec) #從的兩個進程,一個用于接收二進制,另一個用于解析二進制,執(zhí)行語句。 Replicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0 Last_Error: Skip_Counter: 0 Exec_Master_Log_Pos: 341 Relay_Log_Space: 408 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 Master_SSL_Allowed: No Master_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: 0 Master_SSL_Verify_Server_Cert: No Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: 1 row in set (0.00 sec) 這樣就同步了,在主上操作的,從都會同步嘍。
文章標題:mysqlreplication
成都網站建設公司_創(chuàng)新互聯(lián),為您提供商城網站、營銷型網站建設、ChatGPT、網站設計、動態(tài)網站、企業(yè)建站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創(chuàng)新互聯(lián)
分享URL:http://www.muchs.cn/article10/ihejdo.html