個別伺服器通過公網登入MySQL資料庫慢

2022-08-01 01:33:15 字數 1192 閱讀 8414

通過使用多台伺服器使用公網登入mysql伺服器進行測試,發現其中有的伺服器登入資料庫時可以馬上相應,但是有的伺服器登入卻要等待10s-20s才會響應,但是從伺服器上直接telnet埠立即返回連線成功,由此判斷此問題不是由於網路問題導致,懷疑是由於mysql資料庫的反向解析導致(這就是上面為什麼說心情複雜的原因:因為判斷正確了,但是事情卻遠沒有這麼簡單。),檢視了mysql的配置以及全域性變數。

my.cnf:skip-name-resolve 有此項配置

很多時候我們只相信親眼看到的,所以無論是自己還是其他人反饋的問題,如果我有環境都會先測試是否可以復現此問題,如果可以復現在根據日誌或其他資訊排查出現該問題的原因。

通過兩台機器多次測試登入伺服器所需的時間,發現確實部分機器穩定復現登入慢的問題。

第一判斷此問題是由於網域名稱反向解析問題導致,原因如下:

根據以上兩點判斷:網路正常、資料庫基礎功能正常。但是由於檢視了資料庫內的變數資訊以及資料庫配置檔案,確認跳過網域名稱解析配置已經生效,將此懷疑降低。

資料庫端:tcpdump -w a.cap -i eth0 port 3306

客戶端:正常登入資料庫

根據抓包資訊發現登入資料庫慢的伺服器在mysql建立連線前要消耗20s,最終定位到還是由於網域名稱反向解析導致。

最終將mysql伺服器上的hosts檔案配置上登入資料庫慢的公網位址和主機名的對應關係,此處的主機名隨機生成,只是為了登入資料庫不通過反向解析流程,新增後發現登入資料庫慢的問題果然解決了,看來mysql的skip-name-resolve也不是很靠譜,然後測試了下mariadb發現沒有開啟跳過網域名稱解析的這個功能都可以正常登入資料庫伺服器很崩潰。。。

如果方便的話也可以聯絡公網位址的**商來新增ip位址的反解記錄,當然寫hosts檔案是最快的,但是需要我們手動維護。

firewall騰訊雲伺服器通過公網ip連線不上了

1.有可能是你自己安裝了linux機器上的防火牆,禁止了ssh連線,特別是當你為了安全考慮,在裝防火牆之前把ssh連線口給修改了,然後安裝修改了firewall和iptables防火牆,卻沒有修改你的iptables,把新的ssh埠加進來。可以用vnc方式登陸 因為防火牆安裝後,埠22還是預設開啟的...

mysql server安裝伺服器 MySQL安裝

mysql安裝 要安裝 mysql,可以在終端提示符後執行下列命令 sudo apt get install mysql server mysql client 一旦安裝完成,mysql 伺服器應該自動啟動。您可以在終端提示符後執行以下命令來檢查 mysql 伺服器是否正在執行 sudo netst...

linux伺服器開啟公網訪問

環境 a伺服器 外網ip 123.123.123.123 內網ip 192.168.10.10 b伺服器 內網ip 192.168.10.11 配置1.在a伺服器上開啟 sysctl a grep net.ipv4.ip forward 檢視 是否開啟 1為開啟 設定 echo net.ipv4.i...