程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 如何解決MySQL數據庫主從服務器之間數據有差距問題

如何解決MySQL數據庫主從服務器之間數據有差距問題

編輯:MySQL綜合教程

為什麼MySQL數據庫主從服務器之間的數據會有差距呢?原因是由於主服務器比較繁忙,主服務器與從服務器的硬件相差比較大等原因可能造成主服務器與從服務器數據差距比較大。為了不影響MySQL數據庫的應用,我們常常手動地定期進行主從服務器的數據同步,下面是手動進行數據同步的步驟。該過程是在數據庫負載比較低時執行的,此時主服務器不能更新。

1、對主服務器執行:

  1. mysql> flush tables with read lock; 用讀鎖鎖住所有的表阻止對它的更新  
  2.  
  3. mysql> show master status\G  
  4.  
  5. *************************** 1. row ***************************  
  6.  
  7. File: binlog.000022  
  8.  
  9. Position: 592429  
  10.  
  11. Binlog_Do_DB:   
  12.  
  13. Binlog_Ignore_DB: 

記錄下FILE後面的值及Postion後面的值也就是日志名字及其偏移量。

2、在從服務器上執行下面的語句:

  1. mysql> select MASTER_POS_WAIT('binlog.000022','592429')\G  
  2.  
  3. *************************** 1. row ***************************  
  4.  
  5. MASTER_POS_WAIT('binlog.000022','592429'): 0 

MASTER_POS_WAIT的第一個參數是上面master的File值,第二個參數是上面master 的Position值。

如果返回值是0代表同步是成功的,如果為-1代表是超時退出。

3、對主服務器的操作:

  1. mysql> unlock tables; 

按照以上的步驟執行完畢,就能夠解決MySQL數據庫主從服務器之間的差距問題了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved