我在一台开发者机器上有一个小型的C#app(VS 2017,UWP),它应该在另一台机器上提供一个mysql数据库。
使用MySQL-shell我可以连接,但应用程序不能(由于此套接字的套接字权限,访问一个套接字被拒绝)。
该应用程序适用于开发人员计算机上的数据库(localhost)。 经过几个小时的网络搜索,我明白通过套接字或TCP进行远程访问;另外,那个套接字在Windows中并不是真的。
但是在my.ini文件中有2个带socket的地方(#socket = 0.0和#socket = MySQL,我之前没有注释错误)。
我有TCP连接,为什么会出现套接字错误?命名管道似乎是以某种方式与套接字等效的Windows,但仅限于本地连接,并且作为TCP的替代,我理解它。
奇怪的是,在工作台服务器状态下,配置文件的路径显示" ... MySQL Server 5.5 \ my.ini"虽然服务器是5.7,这也是真正的文件夹名称。有人会认为找不到配置文件,但为什么连接在使用shell时有效呢? shell可以在没有my.ini的情况下建立连接吗?这可能是错吗?
我重新安装了MySQL,因为我认为安装已损坏,但结果相同。 (在开发人员计算机上,路径是正确的。
如果有人可以提供帮助,我会非常高兴!
答案 0 :(得分:0)
unix套接字用于同一主机上的进程之间的通信。在本地计算机上,您可以使用套接字或TCP。如果你想要一个远程连接,那就是TCP。