1. ホーム
  2. データベース
  3. その他のデータベース

NavicatでMySqlデータベースへの接続が遅い問題

2022-01-18 18:34:38

プロジェクトのシナリオ

MySqlデータベースを操作する

問題の説明

MySqlデータベースのテーブルにNavicatで接続すると、最初にテーブルを開いたときは正常に動作するが、しばらくNavicatを操作しないまま別のテーブルを開くと、固まってしまい反応に時間がかかる。

原因分析

私のデータベースは、最近購入したテンセントサーバーに配置され、私はそれがちょうどMySqlデータベースをインストールされている場合、どのような構成が設定されていないので、問題のこのタイプのグーグル、MySqlがデフォルトでオンになっていると述べたDnsの逆解決、私は次の構成方法で試してみました。
etc/my.cnf の mysqlid の下に、このフィールドを追加します。

名前解決をスキップする

設定してもまだ問題があることがわかり、再度調べてみると、Navicatクライアントには接続間隔を保つ仕組みがあり、デフォルトでは240秒、つまりユーザーのアクションがないときにクライアントが240秒ごとにMySqlサーバーにリクエストを送り、データベースをアクティブに保つために使われるという記事を発見しました。
しかし、Navicatが間隔を長く設定しすぎたため、以前のデータベース接続が切断されてしまい、新しいテーブルを開くときに、Navicatは古い接続を要求し、古い接続が使用できないことが分かってから新しい接続を要求するので、テーブルを開くのに非常に時間がかかってしまうのです

解決方法

Navicatのホールド接続間隔を変更する

Navicat - データベース接続の編集 - 詳細 - 接続の保持間隔を確認 - 入力ボックスは30に設定 - OKをクリック!

<スパン ナレッジの追加。

Navicatのmysqlへのリモート接続が遅い場合の解決法

アプリケーションシステムの開発は、会社のテストサーバーのmysqlデータベース接続を開くには非常に遅いが、ローカルのmysqlデータベースへの接続は非常に高速であり、最初は私はそれがネットワーク接続の問題が原因かもしれないと思った、Pingとルートの後にネットワーク通信が正常であることが判明し、mysqlマシンのローカル接続は高速であることが判明したので、ネットワークの問題は基本的に除外されたので、私はそれがmysqlの設定問題であるかどうかを確認したいと思いました。mysql関連のドキュメントを確認したり、Webで検索した結果、以下の設定パラメータをmysqlの設定ファイルに追加することで、このような問題を解決できそうな設定を発見しました。

<ブロッククオート

[mysqld]
名前解決をスキップする

      linuxでは/etc/my.cnf、Windowsではmysqlインストールディレクトリのmy.iniが設定ファイルです。この設定は[mysqld]の下に追加されることに注意してください。設定を変更して保存した後、mysqlを再起動し、リモートで接続してテストすると、すべてが正常に戻りました。

NavicatのMySqlデータベースへの遅い接続についての記事は以上です。Navicat slow connection to MySql databaseについては、Script Houseの過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。