1、首完走完mysql Sever的安裝程序,打開安裝目錄下的bin文件夾。
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)東營區(qū)免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
2、然后在bin文件夾下按下shift+鼠標右鍵,出現(xiàn)選項,點擊“在此處打開命令窗口”打開命令窗。
3、在命令窗口內(nèi)輸入 mysql -u root -p 回車后。
4、如果安裝成功會顯示要求輸入安裝服務(wù)器時設(shè)置的密碼,然后顯示出所安裝的Mysql信息.
1、這里以win10系統(tǒng)為例,首先需要確定開啟mysql的服務(wù),快捷鍵Win+R鍵打開運行界面輸入services.msc命令,打開服務(wù)列表:
2、然后在服務(wù)列表找mysql服務(wù),右鍵Mysql的服務(wù)點擊啟動服務(wù),此處是灰色的按鈕說明已經(jīng)開啟服務(wù)了,接下來去命令提示符驗證安裝:
3、接下來再次按下win+R組合鍵打開運行界面,輸入cmd命令后點擊確定按鈕打開:
4、在彈出的界面中輸入mysql -V命令,如下圖所示,出現(xiàn)信息則安裝成功:
安裝完MySQL數(shù)據(jù)庫以后,我們要做的就是驗證MySQL是否安裝成功。那么如何進行驗證呢?下面我就給大家分享一下。
工具/材料
CMD命令行
01
按下Ctrl+R組合鍵,打開運行界面,輸入CMD命令,如下圖所示
02
在打開的CMD命令行中我們輸入mysql命令,注意-u代表的是登錄用戶,-p代表的是登錄密碼,如下圖所示
03
按回車以后就進入到了mysql的命令模式,如下圖所示,這里還不能完全驗證mysql是否安裝成功,接下來我們還需要進一步的驗證
04
我們在mysql命令模式下面輸入show databases命令,如果顯示了如下圖所示的數(shù)據(jù)庫信息則證明了mysql安裝成功了
業(yè)務(wù)有兩個 MySQL 集群是通過 MQ 進行同步的,昨晚 MQ 出現(xiàn)異常,報了很多主鍵沖突,想請 dba 幫忙校驗一下兩個集群的數(shù)據(jù)是否一致。
當接到這個需求的時候并沒當回事,隱約有點印象 pt-table-checksum 能通過 dsn 實現(xiàn) MySQL 的數(shù)據(jù)校驗,所以當時就應(yīng)承下來了。不曾想,啪啪打臉,回想起來真是草率了。
本文參考的是 pt-table-checksum 的校驗邏輯,基于數(shù)據(jù)塊去遍歷每個表,然后比對 checksum 的值判斷該塊是否一致,本文主要是想聊聊我在實現(xiàn)數(shù)據(jù)校驗?zāi)_本過程中遇到的問題以及解決思路,希望對大家有幫助。
利用線上的配置文件搭建一套主從環(huán)境。
這個用例將通過 dsn 方式連接從庫。
這個用例將通過 dsn 方式連接從庫,但是會將從庫的復(fù)制鏈路 stop 掉,并清空復(fù)制信息。
熟悉 pt-table-checksum 的朋友應(yīng)該都知道,該工具是基于主鍵(非空唯一鍵)進行掃描數(shù)據(jù)行,其實這個邏輯針對整型單列主鍵實現(xiàn)起來很簡單,但是如果是聯(lián)合主鍵且是字符型,好像就沒那么簡單了,有興趣的可以思考一下。下面我先說一下大致的邏輯:
第一步:判斷 _min_rowid 是否為空,為空就取該表的第一行,并記作 _min_rowid 。
第二步:根據(jù) _min_rowid 作為條件進行掃描該表,取下一個數(shù)據(jù)塊的數(shù)據(jù),記錄數(shù)據(jù)塊的最后一行數(shù)據(jù)的主鍵值,記錄 checksum 的值,并記下 _min_rowid 。
第三步:判斷_min_rowid是否為空,非空重復(fù)第二步,為空退出檢查。
通過上述三個步驟可以看到,如果是單列整型的主鍵,實現(xiàn)起來很簡單,但是問題來了,業(yè)務(wù)的表的主鍵五花八門,有的是聯(lián)合主鍵,有的是字符型的聯(lián)合主鍵,還有整型+字符型的聯(lián)合主鍵,那么上述的實現(xiàn)方式顯然是有問題的。所以實現(xiàn)起來需要多考慮幾個問題:
鑒于存在上述兩個問題,可以參考如下實現(xiàn)邏輯:
假如有這么一個聯(lián)合主鍵字段 primary key(a,b,c) 都是整型,該如何編寫遍歷 sql 呢?起初我的想法很簡單,具體如下:
至此在編寫校驗?zāi)_本過程遇到的兩個問題就算告一段落了,剩下的就是各種邏輯處理了,不過多贅述,有興趣的可以自行閱讀腳本文件。
本著最低程度影響業(yè)務(wù),所以取消加鎖邏輯。但是又要保證該數(shù)據(jù)塊的數(shù)據(jù)一致性,如果這個數(shù)據(jù)塊是個熱數(shù)據(jù),當前正在變更,那么校驗的時候難免會不一致。所以只能通過多次校驗實現(xiàn),默認是校驗20次,其中有一次校驗結(jié)果是一致,就認為是一致的,如果前5次校驗過程中,這個數(shù)據(jù)塊的數(shù)據(jù)沒有變化,也視為不一致(可能是因為延遲,也可能是真的不一致)。
pt-table-checksum 不校驗表結(jié)構(gòu),改寫時添加表結(jié)構(gòu)的校驗。
可以基于表的并行校驗,可由用戶指定并行數(shù),但是腳本有個安全機制,如果用戶指定的并行數(shù)大于當前 cpu 空閑核心數(shù),就會按當前(空閑核心數(shù)-1)作為并行數(shù)。
添加網(wǎng)絡(luò)監(jiān)控,由用戶指定網(wǎng)絡(luò)上限百分比,當網(wǎng)卡流量超過這個百分比就暫停任務(wù),等待網(wǎng)卡流量低于閾值才會繼續(xù)任務(wù)。這個主要是出于對于中間件(mycat)的場景或者分布式數(shù)據(jù)庫(tidb)的場景。
支持定時任務(wù)功能,用戶可以使用這個功能規(guī)避業(yè)務(wù)高峰,僅在業(yè)務(wù)低峰進行數(shù)據(jù)校驗。
不僅限于主從節(jié)點的校驗,只要目標對象支持 MySQL 的標準 SQL 語法就能做數(shù)據(jù)校驗。
校驗邏輯是通過 SQL 采集目標節(jié)點的數(shù)據(jù)庫,如果目標數(shù)據(jù)庫系統(tǒng)當前存在異常,無疑是雪上加霜,將會觸發(fā)未知問題,所以添加超時機制,單次取數(shù)據(jù)塊的閾值是5s,超過5秒就放棄等待重試。測試發(fā)現(xiàn),有時候即便觸發(fā)超時了,但是 SQL 任務(wù)還是會在目標數(shù)據(jù)庫的 processlist 中能看到,所以又添加了一個 kill 機制,超時后會觸發(fā)一個 kill processlist id 的動作。另外為了避免 kill 錯,在每個 SQL 對象添加了一個32位的 md5 值,每次 kill 的時候會校驗這個 md5 值。
本工具借鑒 pt-table-checksum 工具思路改寫,可以檢查隨意兩個 mysql(支持 mysql sql 語法的數(shù)據(jù)庫)節(jié)點的數(shù)據(jù)一致性。
基于主鍵以一個塊遍歷數(shù)據(jù)表,比對checksum的值,塊的大小可通過參數(shù)指定。 (1)獲取該表的第一個數(shù)據(jù)塊的查詢SQL。 (2)將兩個目標節(jié)點的數(shù)據(jù)塊的checksum的值,記錄到臨時文件,file1 file2。 (3)比對file1 file2是否一致。
第一步:先開啟一個 screen 監(jiān)控網(wǎng)絡(luò)
第二步:新開啟一個screen執(zhí)行校驗任務(wù)
(1)info.log 文件
(2)list目錄
(3)md5 目錄
(4)pri 目錄
(5)res 目錄
這是 table 目錄下記錄某個數(shù)據(jù)塊不一致的一個例子
這是 diff 目錄下記錄某個數(shù)據(jù)行不一致的一個例子
(6)skip.log 文件
本工具是參考了 pt-table-checksum 工具的一些思路并結(jié)合自身經(jīng)驗進行改寫,尚有很多不足之處,僅做學(xué)習(xí)交流之用, 如有線上環(huán)境使用需求,請在測試環(huán)境充分測試。
本文標題:怎么驗證mysql,怎么驗證黃金是真是假?
本文鏈接:http://chinadenli.net/article24/dseocje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、網(wǎng)站策劃、標簽優(yōu)化、網(wǎng)站收錄、建站公司、響應(yīng)式網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)