使用非默认(unix)套接字打开与远程MySQL的连接

时间:2016-09-28 09:50:48

标签: mysql .net sockets powershell

我必须从Powershell脚本将数据推送到远程数据库。

数据库的服务器使用多个实例,每个实例使用一个特定的套接字。

我尝试使用.Net MySQL连接器远程打开连接,如下所示:

$mdir = Split-Path $script:MyInvocation.MyCommand.Path
[void][system.reflection.Assembly]::LoadFrom("$mdir\MySQL.Data.dll")        
$connection = New-Object MySql.Data.MySqlClient.MySqlConnection
$connection.ConnectionString = "host=$myHost;port=$Port;uid=$User;pwd=$Pass;database=$Database;Socket=$Socket;Pooling=False"
$connection.Open()

我收到错误消息,说Socket不是现有关键字。 我在谷歌上发现了对该关键字的引用,但实际上并未在官方文档中提及。

显示我想要连接的内容的示例:

Server : db.domain.com 
Port : 2345 
Socket : /var/sockets/mycustomsocket.sock

有没有办法做我想做的事情,如果有的话,我做错了什么?

修改

我做错了是对客户的技术知识过于信任,但至少,我学到了一些东西!

由于MySQL的工作方式,我所描述的案例纯属无稽之谈。 当实例使用套接字时,该套接字绑定到特定端口。因此,我的客户向我描述导致该问题的案例是不可能的。

不可能让多个MySQL实例在同一端口上侦听,但使用不同的套接字。因此,想要连接到远程文件套接字是一个问题,您应该能够使用ip / hostname和port进行连接。

MySQL中的Socket参数应该在本地使用,如注释中所述。

0 个答案:

没有答案