1. 程式人生 > >無法連線雲伺服器上的MySQL服務

無法連線雲伺服器上的MySQL服務

最近剛換了一臺雲伺服器,打算自己私用,放一些小程式在上面。

伺服器:騰訊雲。然後自己裝了MySQL服務。於是就有了後面一系列的問題。首先是各種百度查資料,發現都是千篇一律,幾乎是沒什麼營養,然後就失望了,也就不打算繼續在網上查詢資料了,怎麼辦,自己的東西出了問題還不是得自己解決。剛好到現在解決了,回想一下確實不容易,浪費了兩天光景。因此打算記下來避免以後再遇到類似的情況。下面介紹出現問題的情況以及解決問題的過程。

首先在本地(我自己的筆記本)上面除錯寫好了的程式碼,在執行資料庫命令的時候出現:Unable to connect to any of the specified MySQL hosts.我當時一臉懵逼。在網上查了一堆資料,全部是說啥子連線字串搞錯了,我特麼當時就想問,可能嗎,只想說我有一句MMP一定要講。然後又陸陸續續的浪費了一段時間,也是同樣的答案,於是我就放棄了。關燈睡覺。然後今天開啟騰訊雲控制檯,進入安全組,沃爾瑪,一切彷彿都變得清晰了。(這裡提示一點,在我安裝MySQL服務的時候就已經檢查和設定了服務埠,這裡我的MySQL服務用的是預設的3306埠,也就是入站規則那裡,具體怎麼設定這裡就不說了,都是基本操作)。現在請看下圖

最開始進入的時候被紅色框圈住的部分是沒有的。也就是說,紅色框內的部分是我自己後來新增的。到這裡各位朋友大概也就明白了原因了吧。所以呢新增一條規則就好了。並且注意【關聯例項數】,也就是關聯你的MySQL服務所在的伺服器。至於具體怎麼設定,都是基本操作,不再累贅。如果設定不了的話,那就不要用電腦了。至此,第一階段的問題已經結束。下面進入後續問題處理。

當我在騰訊雲控制檯上面設定好了後,以為就萬事大吉的時候,重新再本地開啟資料庫工具連線MySQL服務,我勒個去,又連線不上了,出現異常:Host '' is not allowed to connect to this MySQL server. 不過兵來將擋水來土掩,出現了問題就解決問題嘛,畢竟解決一個就離成功更進一步了不是嗎。這句話就是不允許連線這貨,我猜想可能是沒得許可權的問題,繼續猜想可能是MySQL服務安裝後的配置檔案修改一下就好了。於是乎帶著我的猜想又去了網上查詢各種資料。這次我特麼真實服了,網友們的啥子鬼部落格啊,問答啊竟然出乎意料的一致,特麼的讀書的時候抄作業都不帶這樣玩兒的。自己都沒有實踐過就把別人的東西抄過來,我想說有意思嗎?簡直難受。(提示一下:網上的朋友幾乎都是說啥子新增入站規則啊,防火牆啊啥子鬼的,我去年買了個表,特麼的。甚至還有說MySQL服務沒有啟動的)。反正網上的資料每一個有用的,於是乎在伺服器上面開啟資料庫,找到mysql庫下面的一個user表,反正自己的東西,亂搞嘛,搞壞了重新來就是了。所有請各位朋友仔細看下圖,其實就兩個地方

找到user表,我既然在程式裡面用的使用者名稱是root,所以修改使用者名稱為root的一行,將Host修改為%。至於為什麼是百分號,自行腦補,都是基本操作。這些操作其實都是我根據自己的猜想來完成的,然後開啟本地資料庫工具進行測試連線。發現還是如此。沃爾瑪,簡直要瘋了。突然不知道從哪兒蹦出來一個想法:在mysql庫下面執行了一句話:flush privileges,認識這兩個單詞的話應該知道什麼意思。執行完後我立即啟動程式進行資料操作,天啦嚕,竟然成功了。哦也。

這裡只想說一句,沃爾瑪,還是隻有自己實踐的東西才是最正確的。沃爾瑪,坐等下班。