利用指令碼實現mysql主庫到備庫資料同步(每五分鐘同步一次增量)

來源:互聯網
上載者:User

標籤:mysql   同步   

  1. 目標: 將主庫資料(IP1)每五分鐘一次同步到備庫(IP2) 伺服器備庫上,只同步增加量

  2. 思路:

  3. 利用crontab 每五分鐘一次定時執行指令碼進行資料同步

  4. 在指令碼中編譯實現查詢五分鐘內的資料增加量,並將增加量匯入到備庫

  5. 實現過程及代碼(以record 表為例):

  6. bash指令碼中內容

    vi transaction.sh----建立transaction指令碼實現同步

    #!/bin/bash

source.bash_profile

(由於定時執行的功能使用crontab實現,需要在bash中添加使環境變數生效)

exportID=`mysql -N -utest -ptest\[email protected]#$ -Dtest -e "select

max(transaction_id)from record"`

(使用替代變數ID定義備庫中現在最大transaction_id的值)

mysql-N -hIP2 -uslaveroot -p7Pyw#7AHh7 -Dtest -e "use

test;select* from record where transaction_id > $ID;"> backup.sql

(在主庫中尋找大於transaction_id 的值即在這五分鐘內record中資料增長量,並將其匯入

到backup.sql檔案中)

sed-i ‘s#NULL#\\N#g‘ backup.sql

(由於字元集問題"NULL" 在匯入中會出現錯誤,利用sed指令將NULL替代成為\N)

mysql -N -utest -ptest\[email protected]#$ -Dtest -e "use test;load datainfile

‘/home/mysql/backup.sql‘ into table record;"

(匯入產生的backup.sql檔案)

crontab指令碼編寫

    crontab-e (編輯定時指令碼)

    5,10,15,20,25,30,35,40,45,50,55* * * * /home/mysql/transaction.sh

    (每五分鐘執行一次transaction.sh)

  1. 執行結果驗

     

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5A/02/wKioL1Tz4jWSXGaiAAC9WrRequ0816.jpg" style="float:none;" title="1.png" alt="wKioL1Tz4jWSXGaiAAC9WrRequ0816.jpg" />

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5A/06/wKiom1Tz4STTqRp1AACrfbrAP5Q098.jpg" style="float:none;" title="2.png" alt="wKiom1Tz4STTqRp1AACrfbrAP5Q098.jpg" />

本文出自 “Sunny” 部落格,請務必保留此出處http://dbasunny.blog.51cto.com/9192126/1616432

利用指令碼實現mysql主庫到備庫資料同步(每五分鐘同步一次增量)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.