999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

排查MySQL主從

2019-12-22 15:37:52河南劉進京
網絡安全和信息化 2019年8期
關鍵詞:數據庫

■ 河南 劉進京

編者按:數據庫直接關系到單位IT系統的安全穩定運行,筆者遇到某單位的業務系統后臺采用了MySQL主從結構,最近出現了數據異常的問題。

某單位的業務系統后臺采用了MySQL主從結構,最近出現了數據異常的問題。

問題主要表現在使用相同的查詢語句,在主從服務器中查詢到不同的結果,并且在從服務器上執行“show slave status G”命令時,在返回信息中的“Slave_IO_Running”欄 中 顯 示“Connecting”, 在“Slave_SQL_Running”欄 中 顯 示“Yes”,在“Last_IO_Errno”欄中顯示“1045”,在其下顯示“error connecting to master 'xxx' – retrytime :60 retries:1”之類的錯誤信息。

故障排查

對以上故障進行分析,可以看到從服務器是無法連接到主服務器上的,才導致主從數據庫中的數據存在不一致的問題。要尋找連接不上主服務器的原因,可以從多個方面進行排查。例如檢測主從服務器之間的網絡是否暢通,如果連接處于中斷狀態,Slave自然無法連接到Master。如果網絡連接沒有問題,可以檢測是否在Master端啟動了防火墻,對數據庫端口進行了過濾。對復制鏈路配置的用戶和密碼進行檢查,查看該賬戶是否擁有相應的權限。

在從服務器上執行“ping xxx.xxx.xxx.xxx”命令,對主服務器進行探測,其中的“xxx”標書主服務器的IP。根據返回信息,可以看到網絡是暢通的。執行“telnet xxx.xxx.xxx.xxx 3306”命令,使用Telnet連接主服務器的TCP 3306端口,根據返回信息,可以看到是可以通過TCP 3306連接到MySQL實例的,說明主服務器的TCP 3306端口沒有被防火墻過濾。執行“mysql -urepl -p xxxxxx -h yyy”命令,來連接從數據庫,這里的賬戶名為“repl”, 密碼為“xxxxxx”。“yyy”為從服務器的IP,連接是沒有問題的。在“mysql>”提示符下執行“show grants for current_user;”命令,查看當前賬戶的授權信息。

這里僅僅顯示“GRANT USAGE ON *.* 'repl'@'x.x.x.%'”信息,這說明僅僅在該節點上創建了一個賬戶,但是并沒有授權,導致從服務器的IO進程無法通過該賬號到主節點上獲取增量的二進制日志。

至于為什么出現權限丟失的問題,可能是操作人員在最近時間內的誤操作所致。解決的方法很簡單,在主界面上執行“mysql-uroot -p”命令,以root賬戶登錄 MySQL,執行“grant replication slave on *.*to repl@'x.x.x.%';”命令,為從節點授予復制的權限。

其 中 的“x.x.x.%”為具體的網段。返回從節點,在MySQL中執行“show slave status G” 命 令,在返回信息中的“Slave_IO_Running”欄中依然顯示“Connecting”,執 行“stop salve;”和“start slave;”命令,重啟從節點MySQL進程 ,之后再次進行查看,在“Slave_IO_Running”欄中顯示為“Yes”,說明從節點已經可以從主節點復制數據了。

雖然主從數據庫連接已經正常,但依然面對兩者數據庫數據不一致的問題。對于此類問題,首先需要確認主從數據庫是否存在延遲,這里不存在延遲問題。并且經過以上以上處理,Slave實例上的IO線程和SQL線程的狀態均為“Yes”,但是相同的查詢在主從數據庫中的結果存在差異。并且對相關表進行checksum檢查時,得到的校驗值是不同的。所以可以確定主從數據庫中的數據確實存在不一致問題。

之所以會出現該問題,原因可能不止一個,例如有人因誤操作對Slave節點的數據進行了修改,因為在Slave上的寫操作并不會同步到Master上,就會造成主從主從數據的不一致。另外,在進行主從故障處理時使用了sql_slave_skip_counter或注入空事務的方式來修復錯誤,造成在Master節點上執行的事務,在Slave節點上應用也會造成主從數據的差異。此外,如果在主從復制中使用statement格式的二進制日志,因為該格式的日志會分別在主從節點上執行SQL語句來完成對數據的修改,對于諸如UUID等不確定的函數來說,會提取當前系統時間作為默認值,來生成對應的數據列,會在主從節點上產生不一致的數據。

故障解決

根據不同的錯誤原因可采取對應的策略,例如對于在從節點的誤操作,可在Slave實例中設置“read_only=ON”參數,讓不具有Super權限用戶無法對從節點進行寫操作,對于擁有Super權限的用戶,可以設置“super_read_only=ON”參數進行限制,但需要在MySQL 5.7版本之后才具備該功能。

對于采用statement格式的二進制日志來說,為了避免出現主從數據差異,可以改用row格式的二進制日志,該格式對于Master實例進行實際修改后,在Slave端直接應用,就可以避免主從的數據差異。當然,也可以使用pt_table_sync這一工具來修復主從數據庫的數據異常。

在主節點上執行“pt_table_sync --execute--c h a r s s e t=u t f 8--database=tb1 --table=tk1--sync-to-master h=x.x.x.x,u=dba,p=mima”命令,其中的“tb1”為目標數據庫的名稱,“tk1”為表的名稱。表示對指定庫中的表進行數據同步,同步的僅僅是不一致的數據。如果僅僅指定數據庫,表示對該庫進行整體數據同步。其中的“syncto-master”參數表示向Master 進行同步,“x.x.x.x”為從庫的 IP,“dba”為具有訪問該數據庫的的賬戶名,“mima”為該賬戶的密碼。當該命令執行成功后,在Slave節點查看相關的數據庫,可以看到其已經和Master節點一致了。在主從節點上分別執行“checksum table tb1.tk1”命令,可以看到對于目標數據庫的校驗和是一致的。

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: www.国产福利| 无码中文字幕乱码免费2| 国产激爽爽爽大片在线观看| 欧美成人二区| 日本免费a视频| 999在线免费视频| 国产导航在线| 国产在线精品网址你懂的| 一本色道久久88综合日韩精品| 在线色国产| 91麻豆国产视频| 欧美国产中文| 91免费在线看| 97久久精品人人| 国产97区一区二区三区无码| 欧美高清日韩| 天天综合色网| 91破解版在线亚洲| 美女内射视频WWW网站午夜| 日日碰狠狠添天天爽| 动漫精品啪啪一区二区三区| 国产成人亚洲无吗淙合青草| 国产凹凸视频在线观看| 台湾AV国片精品女同性| 3D动漫精品啪啪一区二区下载| 九色视频在线免费观看| 国产欧美日韩在线一区| 呦女亚洲一区精品| 人妻无码一区二区视频| 日韩第一页在线| 精品成人一区二区三区电影 | 成人午夜视频网站| 天天色综合4| 国产麻豆精品在线观看| 亚洲欧美另类专区| 日本免费a视频| 免费AV在线播放观看18禁强制| 无码在线激情片| 国产精品入口麻豆| 亚洲第一视频区| a级毛片在线免费观看| 国产精品99久久久久久董美香| 污网站免费在线观看| 久久香蕉国产线看观看精品蕉| 五月婷婷综合色| www精品久久| 99久久精品无码专区免费| 成人一区在线| 亚洲欧美一区二区三区蜜芽| 久久亚洲日本不卡一区二区| 欧美午夜在线观看| 日韩欧美国产中文| 久久人妻xunleige无码| 久久精品只有这里有| 色悠久久久久久久综合网伊人| 网友自拍视频精品区| a网站在线观看| 精品少妇人妻一区二区| 91丨九色丨首页在线播放| 一级高清毛片免费a级高清毛片| 欧美日韩在线亚洲国产人| 国产对白刺激真实精品91| 国产精品欧美日本韩免费一区二区三区不卡| 一区二区影院| 精品久久久久久久久久久| 好久久免费视频高清| 制服丝袜国产精品| 久久综合结合久久狠狠狠97色| 精品一区二区无码av| 欧美 国产 人人视频| 欧美怡红院视频一区二区三区| 国产精品久久自在自线观看| 国产欧美视频综合二区| AV不卡在线永久免费观看| 久久精品亚洲专区| 日本高清视频在线www色| 亚洲国产一区在线观看| 在线观看网站国产| 精品国产美女福到在线不卡f| 色有码无码视频| 日韩在线永久免费播放| 亚洲国产欧美国产综合久久|