mysql主从数据库验证_数据库主从一致性验证
數(shù)據(jù)庫(kù)數(shù)據(jù)一致性檢驗(yàn)部署文檔
1、pt-table-checksum?安裝:
各個(gè)版本一覽地址:http://www.percona.com/downloads/percona-toolkit/
我們所需軟件下載地址:
具體的安裝步驟如下:
yum?install????perl????mysql????perl-DBD-MySQL????-y(安裝percona-toolkit所需要的軟件包)
tar?-zxvf?percona-toolkit-2.2.2.tar.gz
cd?percona-toolkit-2.2.2
perl?Makefile.PL
make?&&?make?install
#vim?percona-toolkit-2.2.2/README?(如果安裝中有問題,請(qǐng)查考README)
2、修改MySQL相關(guān)環(huán)境變量
rm?????-rf?????/usr/bin/mysql
rm?????-rf?????/usr/bin/mysqladmin
rm?????-rf?????/usr/bin/mysqlaccess
rm?????-rf?????/usr/bin/mysqlbinlog
rm?????-rf?????/usr/bin/mysqlcheck
rm?????-rf?????/usr/bin/mysqldump
ln?????-s??????/usr/local/mysql5/bin/mysql?????/usr/bin/
ln?????-s??????/usr/local/mysql5/bin/mysqladmin????/usr/bin/
ln?????-s??????/usr/local/mysql5/bin/mysqlaccess????/usr/bin/
ln?????-s??????/usr/local/mysql5/bin/mysqlbinlog????/usr/bin/
ln?????-s??????/usr/local/mysql5/bin/mysqlcheck????/usr/bin/
ln?????-s??????/usr/local/mysql5/bin/mysqldump????/usr/bin/
3、在Master庫(kù)上授權(quán):
GRANT?update,insert,delete,SELECT,?PROCESS,?SUPER,?REPLICATION?SLAVE?ON?*.*?TOchecksum@'Master?ip'IDENTIFIED?BY?'1q2w3e4r'?;
4、手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)pts并創(chuàng)建checksums?表,保存pt-table-checksum?檢測(cè)數(shù)據(jù):
CREATE?TABLE?checksums?(
dbchar(64)????NOT?NULL,
tblchar(64)????NOT?NULL,
chunkint????NOT?NULL,
chunk_timefloat????NULL,
chunk_indexvarchar(200)????NULL,
lower_boundary?text????NULL,
upper_boundary?text????NULL,
this_crcchar(40)????NOT?NULL,
this_cntint????NOT?NULL,
master_crcchar(40)????NULL,
master_cntint????NULL,
tstimestamp????NOT?NULL,
PRIMARY?KEY?(db,?tbl,?chunk),
INDEX?ts_db_tbl?(ts,?db,?tbl)
)?ENGINE=InnoDB;
5、執(zhí)行pt-table-checksum?檢查主從數(shù)據(jù)表:
/usr/bin/pt-table-checksumh='Master_IP',u='checksum',p='1q2w3e4r',P=3306--nocheck-replication-filters?\
--no-create-replicate-table?--replicate=pts.checksums--no-check-binlog-format--set-vars?innodb_lock_wait_timeout=50
上面顯示的參數(shù)說明:
TS:完成檢查的時(shí)間。
ERRORS:檢查時(shí)候發(fā)生錯(cuò)誤和警告的數(shù)量。
DIFFS:0表示一致,1表示不一致。當(dāng)指定--no-replicate-check時(shí),會(huì)一直為0,當(dāng)指定--replicate-check-only會(huì)顯示不同的信息。
ROWS:表的行數(shù)。
CHUNKS:被劃分到表中的塊的數(shù)目。
SKIPPED:由于錯(cuò)誤或警告或過大,則跳過塊的數(shù)目。
TIME:執(zhí)行的時(shí)間。
TABLE:被檢查的表名。
6、通過計(jì)劃任務(wù)來定時(shí)校驗(yàn)數(shù)據(jù)一致性
#cat?/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
0?8?*?*?*?root?/data/scripts/Consistency.sh
7、Consistency.sh腳本內(nèi)容
#cat?/data/scripts/Consistency.sh
#!/bin/sh
#set?-x
DIR=/data/scripts/Consistency/
cd?${DIR}
TIME=`date?-d?today?+%Y%m%d%H%M`
###############################################################################
/usr/bin/pt-table-checksumh='Master_ip',u='checksum',p='1q2w3e4r',P=3306--nocheck-replication-filters?\
--no-create-replicate-table?--replicate=pts.checksums--no-check-binlog-format--set-vars?innodb_lock_wait_timeout=50?>>?${DIR}${TIME}.txt
###############################################################################
8、創(chuàng)建一致性檢驗(yàn)結(jié)果文件目錄
#mkdir-p/data/scripts/Consistency/
注釋:涉及的IP都是主庫(kù)IP地址
總結(jié)
以上是生活随笔為你收集整理的mysql主从数据库验证_数据库主从一致性验证的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 存guid类型_从C#在My
- 下一篇: 星途txl2021款新增一款车型,尾标4