MySQL連接錯誤“Cannot get hostname for your address”解決方案

前幾天在自己虛擬機上安裝了mysql數據庫,並且建好了數據庫,通過本機上的MyEclipse啓動項目,訪問虛擬機上的數據庫時,出現了Can't get hostname for your address”此異常,剛開始時以爲需要配置hosts配置文件(C:\Windows\System32\drivers\etc),但是配置了ip和ip對應的名稱後,異常依然存在,在網上找了好多資料,整理後有如下幾種解決方案:

方案一:

在數據庫的安裝路勁找到my.ini配置文件,並在“[mysqld]”行內容下添加一行配置,

[mysqld]

skip-name-resolve

配置完成後保存就可以解決問題了,雖然問題解決了,但是爲什麼要這麼解決,這行配置的具體作用是什麼,在網上沒有找到合理的解釋。(如果有朋友知道,請告之)。

方案二:

如果上述方案還是不行的話,那麼就可能是你的數據的權限沒有分配,執行以下命令

1、d:\mysql\bin\>mysql   -h   localhost   -u   root //這樣應該可以進入MySQL服務器

2、mysql>GRANT   ALL   PRIVILEGES   ON   *.*   TO   'root'@'%'   WITH   GRANT   OPTION //賦予任何主機訪問數據的權限

3、mysql>FLUSH   PRIVILEGES //修改生效

4、mysql>EXIT //退出MySQL服務器

問題搞定了。說到命令行連接mysql,不得不說的一個問題就是,剛按照的mysql數據庫,是無法通過命令行連接到數據庫的,也就是說在cmd中直接敲入mysql是無效的,這裏我們需要在環境變量中的path中加上mysql安裝路徑下bin文件的路徑,這樣就可以使用了。

方案三:

其實這個還是和方案二解決方案是一樣的,不過修改方式不一樣罷了,我們直接用mysql的連接工具,打開mysql數據庫中的系統庫mysql中的表user,如圖:

所示,表中有兩條數據,第一條數據賦予ip爲localhost的主機root權限。第二條數據爲賦予所有ip地址的主機root權限,也就是允許其他機器訪問數據庫。如果沒有第二條數據,也會出現上述問題。朋友可以手動添加下如圖中的第二條數據。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章