vs xaml 语句完成 自动列出成员_数据传输 | mysqldiff/mysqldbcompare 实现 DTLE 自动化测试...
作者:張靜文
愛(ài)可生上海研發(fā)中心成員,測(cè)試工程師,負(fù)責(zé) DMP 以及 DTLE 自動(dòng)化測(cè)試。
本文來(lái)源:原創(chuàng)投稿 *愛(ài)可生開(kāi)源社區(qū)出品,原創(chuàng)內(nèi)容未經(jīng)授權(quán)不得隨意使用,轉(zhuǎn)載請(qǐng)聯(lián)系小編并注明來(lái)源。任務(wù):
測(cè)試開(kāi)源產(chǎn)品 dtle(https://github.com/actiontech/dtle),對(duì) mysql 字符類型,表結(jié)構(gòu)的支持性。測(cè)試需求如下:1.?測(cè)試 dtle 對(duì) mysql 所有的字符類型支持性
2.?測(cè)試 dtle 對(duì)表結(jié)構(gòu)的支持性
3.?等.......
測(cè)試步驟大致為:
1. 設(shè)計(jì)表結(jié)構(gòu),數(shù)據(jù)類型。
2. 使用 dtle 遷移表/數(shù)據(jù)。
3. 對(duì)比使用 dtle 遷移的源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)的數(shù)據(jù)、表結(jié)構(gòu)是否有差異。
起初,我開(kāi)啟了 2 個(gè)窗口一條條的對(duì)比,但是當(dāng)我比對(duì)到第 100 條數(shù)據(jù)的時(shí)候,我發(fā)現(xiàn)眼花了,似乎有些數(shù)據(jù)“好像不一樣”。我還有好幾萬(wàn)條數(shù)據(jù)要這么對(duì)比呢,而且每次發(fā)新版本,我都要這么來(lái)一次......這不是人能完成的艱難任務(wù)!
所以我尋找是不是有什么工具能幫我做這部分工作,搜索后發(fā)現(xiàn)一部分私人寫的小工具(具體的就不列舉了),但是經(jīng)過(guò)使用后,發(fā)現(xiàn)很多工具自身就帶有一部分 BUG,如果我用這些工具做數(shù)據(jù)對(duì)比肯定會(huì)遺漏 BUG。
經(jīng)過(guò)幾天的搜索試用,發(fā)現(xiàn) mysql 官方提供了一個(gè)非常不錯(cuò)工具mysqldiff/mysqldbcompare,所以想著分享給大家。
以下就直接說(shuō)說(shuō)使用方法:
?(系統(tǒng):Ubuntu 18.04)
1. 軟件下載,地址如下:https://cdn.mysql.com/archives/mysql-utilities/mysql-utilities-1.6.5.tar.gz2. 解壓到當(dāng)前目錄 mysql-utilities-1.6.5 下:tar -zxvf mysql-utilities-1.6.5.tar.gz3. cd 到 mysql-utilities-1.6.5,執(zhí)行安裝:apt install mysql-utilities如下圖:
4. 演示 mysql-utilities 中的 mysqldiff 使用和效果:首先我們可以通 過(guò) mysqldiff --help 命令查看用法:
接下來(lái)我要測(cè)試通過(guò) DTLE 數(shù)據(jù)遷移的 2 個(gè)數(shù)據(jù)庫(kù),然后驗(yàn)證:
1.?是否有表結(jié)構(gòu)改變
2.?DTLE 是否將源數(shù)據(jù)庫(kù)的所有數(shù)據(jù)全部遷移到目標(biāo)數(shù)據(jù)庫(kù)
分別使用如下 2 條命令:
mysqldiff--server1=test:test@10.20.30.3:3306--server2=test1:test1@10.20.30.4:3307 testdb:testdb執(zhí)行效果如下:
結(jié)論:通過(guò)比對(duì),發(fā)現(xiàn)源數(shù)據(jù)庫(kù)中有 2 張表并不在目標(biāo)數(shù)據(jù)庫(kù)中,而且很詳細(xì)的列出了遷移失敗的表名。
mysqldiff--server1=test:test@10.20.30.3:3306--server2=test1:test1@10.20.30.4:3307 testdb.char_columns:testdb.char_columns執(zhí)行效果如下:
結(jié)論:通過(guò)比對(duì),發(fā)現(xiàn)有源數(shù)據(jù)庫(kù)中 char_columns 表的建表語(yǔ)句有差異。
5. 演示 mysql-utilities 中的 mysqldbcompare 使用和效果:同上我們可以通過(guò) mysqldbcompare --help 命令查看用法:
使用如下命令可以查看源庫(kù)和目標(biāo)庫(kù)中的表數(shù)據(jù)是否有差異:
mysqldbcompare--server1=test:test@10.20.30.3:3306--server2=test1:test1@10.20.30.4:3307 testdb:testdb執(zhí)行效果如下:
結(jié)論:通過(guò)比對(duì),發(fā)現(xiàn)源庫(kù)和目標(biāo)庫(kù)中的數(shù)據(jù)一致。
本次分享幾條簡(jiǎn)單的命令到此結(jié)束。
重點(diǎn)在于:
1. 作為測(cè)試,我們可以通過(guò)以上 2 個(gè)小工具減少我們重復(fù)性的工作,提高測(cè)試結(jié)果的準(zhǔn)確性。
2. 如果我們有一定代碼基礎(chǔ),可以集成以上小工具,完成一套 DTLE 的自動(dòng)化測(cè)試腳本,方便以后每次版本發(fā)布的回歸測(cè)試。
文章推薦:
數(shù)據(jù)傳輸 | dtle 使用初探數(shù)據(jù)傳輸 | dtle 之 job 實(shí)現(xiàn)簡(jiǎn)析社區(qū)近期動(dòng)態(tài)
?點(diǎn)一下“閱讀原文”了解更多資訊
總結(jié)
以上是生活随笔為你收集整理的vs xaml 语句完成 自动列出成员_数据传输 | mysqldiff/mysqldbcompare 实现 DTLE 自动化测试...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: hive 配置用户名_配置HiveSer
- 下一篇: 打桩时不修改源码_考研网上报名点了修改报