pt-table-sync是解決主從數(shù)據(jù)不一致的絕佳工具,也可也用于兩個(gè)不是主從數(shù)據(jù)庫(kù)之間數(shù)據(jù)同步,不能同步ddl,只能同步數(shù)據(jù),以下為常用例子:
其中h=192.168.56.101為源端,h=192.168.56.102為目標(biāo)端:
1.sync兩個(gè)獨(dú)立數(shù)據(jù)庫(kù),無(wú)主從復(fù)制關(guān)系,同步數(shù)據(jù)庫(kù)中所有的表,并排除特定數(shù)據(jù)庫(kù):
pt-table-sync --charset=utf8 --ignore-databases=mysql,sys u=admin,p=admin,h=192.168.56.101,P=3306 dsn=u=admin,p=admin,h=192.168.56.103,P=3306 --execute --print
如果為主從可以使用--no-check-slave 忽略主從關(guān)系,建議先使用--print查看有哪些不一致,然后使用--execute進(jìn)行同步:
打印出不一致數(shù)據(jù):
pt-table-sync --charset=utf8 --ignore-databases=mysql,sys --no-check-slave u=admin,p=admin,h=192.168.56.101,P=3306 dsn=u=admin,p=admin,h=192.168.56.102,P=3306 --print
同步數(shù)據(jù)并打印出同步語(yǔ)句:
pt-table-sync --charset=utf8 --ignore-databases=mysql,sys --no-check-slave u=admin,p=admin,h=192.168.56.101,P=3306 dsn=u=admin,p=admin,h=192.168.56.102,P=3306 --execute --print
只對(duì)指定的庫(kù)進(jìn)行數(shù)據(jù)sync:
pt-table-sync --charset=utf8 --ignore-databases=mysql,sys --databases=data u=admin,p=admin,h=192.168.56.101,P=3306 dsn=u=admin,p=admin,h=192.168.56.102,P=3306 --execute --print
只對(duì)指定的表進(jìn)行數(shù)據(jù)sync,多個(gè)表用逗號(hào)隔開(kāi):
pt-table-sync --charset=utf8 --ignore-databases=mysql,sys --databases=data --tables=t_shop_order,t_shop_order_detail u=admin,p=admin,h=192.168.56.101,P=3306 dsn=u=admin,p=admin,h=192.168.56.102,P=3306 --execute --print
--tables也可以使用數(shù)據(jù)庫(kù)名和表:
--tables=database_name.table_name
忽略某些庫(kù)或者忽略某些表
--ignore-databases=指定要忽略的庫(kù)
--ignore-tables=database_name.table_name 指定要忽略的表
3.如果是主從復(fù)制,可以加上--sync-to-master參數(shù)進(jìn)行數(shù)據(jù)sync:
需要同步的表有主鍵或者唯一鍵,其中192.168.56.102為備庫(kù):
pt-table-sync --sync-to-master --charset=utf8 --ignore-databases=mysql,sys u=admin,p=admin,h=192.168.56.102,P=3306 --execute --print
sync同步多個(gè)slave備庫(kù),其中h=192.168.56.102,P=3306, h=192.168.56.103為備庫(kù):
pt-table-sync --sync-to-master --charset=utf8 --ignore-databases=mysql,sys u=admin,p=admin,h=192.168.56.102,P=3306 , u=admin,p=admin,h=192.168.56.103,P=3306 --execute --print
4.pt-table-sync 幫助說(shuō)明:
pt-table-sync --help
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線(xiàn),公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。