mysql.data.dll连接超时

时间:2017-03-09 11:48:17

标签: mysql powershell connection timeout

我正在使用mysql.data.dllpowershell(v2)建立与MySQL数据库的连接。连接字符串如下所示:

$connStr = "server=" + $MySQLHost + ";port=" + $MySQLPort + ";uid=" + $MySQLUser + ";pwd=" + $MySQLPass + ";database=" + $MySQLDatabase + ";Pooling=FALSE" 
    try 
    {
        $conn = New-Object MySql.Data.MySqlClient.MySqlConnection
        $conn.ConnectionString = $connStr
        $conn.Open()
    }

它连接正常,但是当我运行一个超过几秒钟的查询时,它会超时。 直接在数据库上运行查询很好(尽管运行apx 40秒),所以我假设与此连接相关联的超时导致问题。 有没有办法可以告诉这个连接不要超时60秒。

2 个答案:

答案 0 :(得分:2)

我在将Python虚拟环境与MySQL连接时遇到了类似的问题。

原来我需要一个自包含的Python驱动程序来与MySQL服务器进行通信。

做了一些研究,发现了这个: http://php.net/manual/en/ref.pdo-mysql.php

我认为你需要 mysql 插件:

  

的php5-MySQL的

您正在使用PowerShell: Windows和Linux命令都可以正常工作

您可以使用以下命令安装所需内容:

sudo apt-get install php5-mysql

或以管理员身份运行PowerShell(右键单击开始菜单中图标的顶部)并使用:

apt-get install php5-mysql

答案 1 :(得分:1)

我不知道这是否是正确答案,但似乎有效。

我在连接字符串的末尾添加了default command timeout=180;。所以我现在有:

$connStr = "server=" + $MySQLHost + ";port=" + $MySQLPort + ";uid=" + $MySQLUser + ";pwd=" + $MySQLPass + ";database=" + $MySQLDatabase + ";Pooling=FALSE; default command timeout=180" 
    try 
    {
        $conn = New-Object MySql.Data.MySqlClient.MySqlConnection
        $conn.ConnectionString = $connStr
        $conn.Open()
    }