如何解決MySQL數(shù)據(jù)庫主從服務器之間數(shù)據(jù)有差距問題
作者:xyaxlz
本文我們主要介紹了MySQL數(shù)據(jù)庫主從服務器之間的數(shù)據(jù)同步的問題,并給出了手動執(zhí)行主從服務器數(shù)據(jù)同步的代碼示例,希望能夠?qū)δ兴鶐椭?/div>
為什么MySQL數(shù)據(jù)庫的主從服務器之間的數(shù)據(jù)會有差距呢?原因是由于主服務器比較繁忙,主服務器與從服務器的硬件相差比較大等原因可能造成主服務器與從服務器數(shù)據(jù)差距比較大。為了不影響MySQL數(shù)據(jù)庫的應用,我們常常手動地定期進行主從服務器的數(shù)據(jù)同步,下面是手動進行數(shù)據(jù)同步的步驟。該過程是在數(shù)據(jù)庫負載比較低時執(zhí)行的,此時主服務器不能更新。
1、對主服務器執(zhí)行:
- mysql> flush tables with read lock; 用讀鎖鎖住所有的表阻止對它的更新
- mysql> show master status\G
- *************************** 1. row ***************************
- File: binlog.000022
- Position: 592429
- Binlog_Do_DB:
- Binlog_Ignore_DB:
記錄下FILE后面的值及Postion后面的值也就是日志名字及其偏移量。
2、在從服務器上執(zhí)行下面的語句:
- mysql> select MASTER_POS_WAIT('binlog.000022','592429')\G
- *************************** 1. row ***************************
- MASTER_POS_WAIT('binlog.000022','592429'): 0
MASTER_POS_WAIT的第一個參數(shù)是上面master的File值,第二個參數(shù)是上面master 的Position值。
如果返回值是0代表同步是成功的,如果為-1代表是超時退出。
3、對主服務器的操作:
- mysql> unlock tables;
按照以上的步驟執(zhí)行完畢,就能夠解決MySQL數(shù)據(jù)庫主從服務器之間的差距問題了。
【編輯推薦】
責任編輯:趙鵬
來源:
ChinaUnix博客


相關推薦
2009-09-17 16:16:29
2009-01-09 23:01:24




