ホームページ  >  に質問  >  本文

PowerShell によって実行される MySQL クエリのタイムアウトを調整して、30 秒を超えて実行できるようにするにはどうすればよいですか?

SQLyog (私が使用している GUI) で実行すると数分かかる MySQL SELECT クエリがあります。 PowerShell 経由 (SimplySQL を使用) でまったく同じクエリを実行しようとすると、常に 30 秒で失敗します。 どのタイムアウト変数が制限しているのか、あるいは PS 環境に 30 秒のタイムアウトを持つ他の設定があるのか​​どうかもわかりません。 これらのタイムアウト値を Linux MySQL サーバーの my.cnf ファイルに設定し、MySQL を再起動しました。しかし成功しませんでした:

リーリー

Google で MySQL とタイムアウト値を検索しましたが、答えが見つかりませんでした。 そこで私の質問は 2 つあります。オーバーライドできる 30 秒タイムアウトと呼ばれる他の変数は何ですか。または、対話型ツールでのクエリの実行方法と PS セッションでの実行の違いを確認する他の方法はありますか? (注: 常に 30 秒以内に完了するようにクエリを高速化することはできません)

PS を実行するときに必要なのは:

リーリー

(最後の行は、「timeout」という名前の MySQL 変数が正常にオーバーライドされたことを示しています。)

P粉803444331P粉803444331427日前649

全員に返信(1)返信します

  • P粉652495194

    P粉6524951942023-09-11 10:54:28

    PowerShell はこれを実現するためにバックグラウンドで .Net 接続クラスを使用し、これらのオブジェクトには 接続文字列 が必要です。通常、接続文字列には接続のタ​​イムアウトを含めることができます。正確なタイムアウト設定は、使用する特定のドライバーによって異なります。残念ながら、Connectionstrings.com には十分に文書化されていませんが、例を次に示します。 リーリー

    それ以外の場合は、接続オブジェクト自体にタイムアウト プロパティを設定することもできます...ただし、それがどのようなものであるかを正確に知るには、PowerShell 接続コードを調べる必要があります。

    PowerShell コードがそれを ODBC データ ソースに渡している可能性もあります。接続文字列は

    DSN=MyDataSource のようなものです。この場合、データ ソースの構成を確認する必要があります。

    返事
    0
  • キャンセル返事