2016-11-07 323 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/