日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Maatkit數(shù)據(jù)庫檢查工具

 jas0n_liu 2012-09-12
這個maakit工具包不錯,里面的有很多對mysql分析的軟件

下載地址:http://code.google.com/p/maatkit/downloads/list
組件列表:http://www./doc/

1.maatkit安裝
一,安裝DBI
cd /root
wget http://ftp./pub/packages/perl/CPAN/authors/id/T/TI/TIMB/DBI-1.616.tar.gz
tar zxvf DBI-1.616.tar.gz
cd DBI-1.616

perl Makefile.PL
make && make install

二,安裝data-showtable包
cd /root
wget http://search./CPAN/authors/id/A/AK/AKSTE/Data-ShowTable-3.3.tar.gz
tar zxvf Data-ShowTable-3.3.tar.gz
cd Data-ShowTable-3.3

perl Makefile.PL
make && make install
make的時候報錯了:
*** ERROR: unterminated I<...> at line 724 in file ShowTable.pm
*** ERROR: unterminated I<...> at line 724 in file ShowTable.pm
編輯一下ShowTable.pm 找到724行,修改
I<\@title_formats 改為I<\@title_formats>
I<\@data_formats 改為I<\@data_formats>

三,安裝msql-mysql-modules
cd /root
wget http://search./CPAN/authors/id/J/JW/JWIED/Msql-Mysql-modules-1.2219.tar.gz
tar zxvf Msql-Mysql-modules-1.2219.tar.gz
cd Msql-Mysql-modules-1.2219

perl Makefile.PL
make && make install
make的時候報錯了:
make[1]: *** [mysql.o] Error 1
make[1]: Leaving directory `/root/Msql-Mysql-modules-1.2219/mysql'
make: *** [subdirs] Error 2
先執(zhí)行第四步:在執(zhí)行到make的時候會在目錄下生成mysql.o文件,
cp /root/DBD-mysql-4.020/mysql.o /root/Msql-Mysql-modules-1.2219/mysql/后,
重新make一下就不會報錯了

四,安裝DBD-mysql
cd /root
wget http://search./CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.019.tar.gz
tar zxvf DBD-mysql-4.019.tar.gz
cd DBD-mysql-4.019

perl Makefile.PL --mysql_config=/usr/local/mysql/bin/mysql_config
make
make test
make test出錯了,如果報錯像上面一樣,那么就執(zhí)行
# cp /usr/local/mysql/lib/mysql/* /usr/lib
# cp /usr/local/mysql/lib/mysql/* /usr/lib64/(如果64位 否則是lib)
如果上面這一步?jīng)]做,則到安裝maatkit的時候,在perl Makefile.PL會出現(xiàn)警告:prerequisite DBD::mysql 1 not found.
make test
make
make install

五,安裝maatkit
cd /root
wget -S http://maatkit./files/maatkit-7540.tar.gz
tar zxvf maatkit-7540.tar.gz
cd maatkit-7540
perl Makefile.PL
make && make install

六、在主庫添加用戶

grant all privileges on *.* to 'root'@'192.168.9.1' identified by '123456';

為mk-table-checksum命令執(zhí)行做準(zhǔn)備

以下是mk-table-checksum的舉例說明
命令行如下:

1、檢測   mk-table-checksum h=192.168.9.1,u=root,p=123456,P=3306 h=127.0.0.1,u=root,p=passwd,P=3306 -d db1

對192.168.9.1和127.0.0.1的db1庫進行了一次一致性對比測試。

DATABASE:數(shù)據(jù)庫名
TABLE:表名
CHUNK:checksum時的近似數(shù)值
HOST:MYSQL的地址
ENGINE:表引擎
COUNT:表的行數(shù)
CHECKSUM:校驗值
TIME:所用時間
WAIT:等待時間
STAT:MASTER_POS_WAIT()返回值
LAG:slave的延時時間

2、如果你想過濾出不相等的都有哪些表,可以用mk-checksum-filter這個工具

mk-table-checksum h=192.168.9.1,u=root,p=123456,P=3306 h=127.0.0.1,u=root,p=passwd,P=3306 -d db1 |mk-checksum-filter

當(dāng)檢查時報錯為
Had to create DBD::mysql::dr::imp_data_size unexpectedly at /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/DBI.pm line 1063.
Had to create DBD::mysql::db::imp_data_size unexpectedly at /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/DBI.pm line 1063.
Undefined subroutine &DBD::mysql::db::_login called at /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/DBD/mysql.pm line 129.
安裝perl模塊
perl -MCPAN -e shell
install DBD::mysql
install dr::imp_data

3、mk-table-sync       先主后從有效保證表一致的工具,不必重載從表而能夠保證一致。
[root@vm01 ~]# mk-table-sync --execute   --charset=utf8   --print --no-check-slave --databases test h=192.168.9.1,u=admin,p=123456 h=192.168.9.2,u=admin,p=123456

這里要說明一下,--no-check-slave這個參數(shù),如果你不加這個參數(shù),會提示報錯,因為這個工具默認(rèn)是不允許在從庫上修改數(shù)據(jù)的,但我們這里為了不在主庫上dump出來,再到從庫上導(dǎo)入進去,加了這個參數(shù)。

它的工作原理是:先一行一行檢查主從庫的表是否一樣,如果哪里不一樣,就執(zhí)行刪除,更新,插入等操作,使其達到一致。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多