我有一个小的C#应用程序(VS2017,UWP)在一台开发人员的机器上,它应该提供另一台机器上的mysql数据库。
使用MySQL-shell我可以连接,但应用程序不能(访问一个套接字被拒绝,因为此套接字的套接字权限)。
该应用程序与开发人员机器(localhost)上的数据库一起工作得很好。在网上搜索了几个小时后,我了解到远程访问不是通过socket就是通过TCP;而且,socket并不是Windows中真正的东西。
然而,在my.ini文件中有两个地方带有套接字(#socket =0.0和#socket=MySQL,我像以前一样错误地取消了对它们的注释)。
我有一个TCP连接,为什么会有套接字错误?命名管道似乎在某种程度上等同于Windows套接字,但仅限于本地连接,并再次作为TCP的替代方案。
奇怪的是,在工作台服务器状态下,配置文件的路径显示为“...MySQL Server5.5\ my.ini”,尽管服务器是5.7,这也是真实的文件夹名称。人们可能会认为配置文件找不到,但为什么在使用shell时连接可以正常工作?shell可以在没有my.ini的情况下进行连接吗?这会是错误所在吗?
我重新安装了MySQL,因为我认为有一个损坏的安装,但同样的结果。(在开发人员机器上,路径是正确的。
如果有人能帮上忙,我会很高兴的!
发布于 2018-02-21 19:11:09
unix套接字用于同一主机上的进程之间的通信。在本地计算机上,您可以使用套接字或TCP。如果你想要一个远程连接,那就是TCP。
https://stackoverflow.com/questions/48903719
复制相似问题