2016-11-07 317 views
0

我有一個作爲服務器使用的Raspberry Pi(第一個模型)。我跟着一個教程,並安裝了Apache2,MySQL,Phpmyadmin等無法連接到數據庫(10061)

我也爲我的家庭網絡設置了一個ddns,以便能夠連接到它,無論我身在何處,當然還有轉發必要的端口。

起初,一切都創造了奇蹟。

  • 我可以使用phpmyadmin從任何網絡導航到adress/phpmyadmin連接到數據庫。
  • 我也可以使用HeidiSQL連接到數據庫,再次從任何網絡。

我在這個時候的MySQL版本是v5.5。我想要一個v5.6的功能,但是這個版本在我的RPi(ARMv61)上沒有。相反,MariaDB似乎應該這樣做。所以我用命令更新MariaDB的:

sudo aptitude install mariadb-server

現在我無法通過HeidiSQL連接了,phpMyAdmin的還是來自任何網絡就像以前的作品雖然。嘗試與HeidiSQL連接我得到的輸出(不管是什麼用戶名/密碼,我嘗試):

無法連接到MySQL服務器「ADRESS」(10061)」

mysql -V給輸出:

MySQL的版本15.1 DISTRIB 10.0.27-MariaDB的,對於Debian的Linux-gnueabihf(armv7l)使用的readline 5.2

我的RPI信息是

的Linux redface 4.4.26+#915週四10月20日17時02分14秒BST 2016 armv6l GNU/Linux的

用戶權限下面

圖像中可

enter image description here

如何使用HeidiSQL再次連接到數據庫?我是否錯過了用戶權限?

與phpMyAdmin我使用的用戶名root

+1

是啊...你可以看到現在您的安裝更爲安全的....沒有更多的'root' @'*'用戶,所以你不能連接到你從任何數據庫ip ...爲了完成你需要創建一個基於想要連接到你的樹莓服務器(獲得海蒂安裝的機器)客戶端的用戶...你可以提供該本地IP? – Hackerman

+0

@Hackerman,但不是root @%是root @ *的同義詞,因爲%意味着任何在phpmyadmin接口中?而且,即使我不是本地的,我也可以通過phpmyadmin進行連接。我的目的是能夠從任何IP連接,而不僅僅是一些選定的IP。我現在在牀上,明天可以提供本地知識產權。 – Aidin

+0

%表示本地主機的同義詞,127.0.0.1和:: 1 – Hackerman

回答

1

此特定錯誤是不是權限。

代碼(10061)是WSAECONNREFUSED - 用於Connection refused,一個的Windows套接字錯誤代碼不要與混淆「拒絕訪問」。

拒絕連接通常意味着沒有服務正在偵聽目標IP地址和端口。 MariaDB沒有在0.0.0.0:3306上進行監聽。

mysql -V僅告訴你安裝的客戶端版本 - 它不會告訴你關於MariaDB服務器的任何信息。

對phpMyAdmin的訪問不會告訴你任何事情,因爲有了它,你不會遠程與數據庫服務器通信 - 你正在遠程與Web服務器通信,並且你的Web服務器正在運行代碼來自同一臺機器內的本地數據庫,並且通常使用不是TCP/IP的服務器訪問機制。

檢查配置文件的註釋bind_address=0.0.0.0或類似。

https://mariadb.com/kb/en/mariadb/configuring-mariadb-for-remote-client-access/