Mac中遇到的Eclipse連接不上mySql的問題


1.首先我們在eclipse中連接數據庫的過程中,遇到的問題就是如上圖。開始百度Communications link failure 這幾個關鍵字。得到的結果基本上就是基本配置參數wait_timeout,interactive_timeout,bind-address等這幾個參數有問題,因此我們的第一反應是找到配置文件進行配置。

2.要配置就要找到配置文件,我們發現在mysql的安裝目錄里沒有找到配置文件。百度以后發現Mac下的mysql沒有配置文件,要自己到/etc的目錄下自己創建,這是奇葩的第一個地方。

3.在歷盡磨難創建了配置文件以后,然並卵,並沒有什么反應。這我們就很為難了。增加時間值,我們也增加了。為什么一點反應都沒有呢?其中還有個插曲,我們在終端里進行對參數進行配置,然后發現重新啟動下mysql就返回默認值,也是一個奇葩的地方。

4.撓頭中

5.繼續百度,發現有的需要在URL中添加參數,又如獲至寶,發現還是沒用。

6.Mac下奇特的地方之二,因為下載了一個數據庫管理軟件Sequel Pro,在這個的第二種連接方式Socket連接是可以訪問數據庫內容的。這個軟件還有Standard連接,這個連接是不能訪問數據庫的。Standard和Socket連接的區別就是需要配置host和port,其實在此我們就應該想到是這兩個參數存在問題,當時也確實驗證了下。mysqld --verbose --help | grep 3306  ,發現確實有一條記錄。而且大多數情況下,默認端口都是3306.這讓我們不怎么想這個點了。還有一點就是,在終端我們可以對數據庫進行訪問,通過數據庫密碼,可以訪問表的內容。

7.通過第6點,讓我們深深相信數據庫應該是沒問題的,其他地方都是可以訪問的,為什么通過eclipse就不能訪問呢?肯定是eclipse的程序出問題了。於是就想可能是公司的jar包有問題,公司對原來的jar進行封裝,涉及到連接池。網上很多人說,mysql時間超時斷開連接,連接池還默認原來的鏈接就會出問題。於是我們寫了一個簡單的測試程序,只用官方的mysql-connector-java-5.1.40-bin.jar然而發現問題並不再驅動上。

8.eclispe連接不上mysql,必定又一個出問題了。我們又返回到是不是程序出錯了。我們仔細對比以后發現,加載驅動,獲得連接,並沒有什么問題。

9.撓頭中

10.都快已經放棄了,已經准備重裝mysql了。有兩點憂慮,一是覺得麻煩,還要重新導入數據。二是重新安裝並不一定解決問題。

11.同事嘗試性的 ps -ef | grep mysql 查看正在運行的進程,發現mysql的端口竟然是3307.小心翼翼改成3307以后發現竟然可以了。(和同事一天都糾結在這個問題中,萬幸解決了)

12.百度下才知道Mac下mysql默認的端口號是3307.石化中……

 

問題解決的過程如上所述十分艱辛,耗費一天的時光,在最后我們也認為這是值得的,因為對很多東西加深了認識。

在幾個星期之前,我就遇到這個問題了。當時覺得解決不掉,毫無頭緒。因為家里有台式機,公司有電腦就對筆記本不是特別需求就一直沒有解決。直到今天才下定決心解決之。面對困難,不要畏懼,要迎頭面對。這應該是我學會的第一件事了。在決心面前,所有問題都是紙老虎。學到的第二點就是謙虛學習和與他人合作,別人身上必定有你需要學習的東西,幾個星期之前,我一個人研究以失敗結束,這一次我和同事一直在討論這個問題,很感謝他。最后還是他解決了這個問題。其實我也想過是端口的問題,慣性思維,自己安裝的mysql並咩有更改設置呀應該是3306呀,讓我錯過了這個機會。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM