MySQL 8.0 バージョンで getTables がすべてのデータベース テーブルを返す問題の簡単な分析

MySQL 8.0 バージョンで getTables がすべてのデータベース テーブルを返す問題の簡単な分析

序文

この記事では、主にライブラリ内のすべてのテーブルを返すMysql8.0ドライバgetTablesに関する関連コンテンツを紹介します。MySQL Connector/J 8.0バージョンドライバは、以前のMySQL 5.5+バージョンと下位互換性があります。MySQL 5.5+バージョンを使用している場合は、8.0バージョンドライバにアップグレードできます。

ドライバの 5.X バージョンを使用している場合は、ドライバ クラスをcom.mysql.cj.jdbc.Driverに変更する必要があります。

以下の点に注意してください。

バージョン 8.0 のドライバー DataSource に関連するパラメータが変更されました。

たとえば、バージョン 8.0 のドライバーでは、パラメータ nullCatalogMeansCurrent のデフォルト値が true から false に変更されます。DatabaseMetaData.getTables DatabaseMetaData.getTables使用してすべてのテーブル情報を取得すると、バージョン 8.0 のドライバーではすべてのデータベース テーブルが返されます。

// デフォルトでは、データソースで指定されたデータベースだけでなく、すべてのデータベース テーブルが返されます databaseMetaData.getTables(null, null, null, new String[]{"TABLE"})

解決策は、接続プールが初期化されるときにこのパラメータを true に変更することです。HikariCP を例に挙げます。

Java 構成:

HikariConfig config = 新しい HikariConfig();
...
config.addDataSourceProperty("nullCatalogMeansCurrent", true);

Spring Boot 構成:

spring.datasource.hikari.data-source-properties.nullCatalogMeansCurrent=true

その他のパラメータの変更については、[公式ドキュメント]を参照してください。

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に一定の参考学習価値を持つことを願っています。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM を応援していただきありがとうございます。

以下もご興味があるかもしれません:
  • mysql.data.dll ドライバーのさまざまなバージョンの簡単な分析
  • MybatisリバースエンジニアリングでMysql8.0バージョンドライバを使用する際に発生する問題の詳細な説明

<<:  ファイル共有サーバーを構築するための samba + OPENldap の詳細な説明

>>:  Vue.set() と this.$set() の使い方と違い

推薦する

Nginx の負荷分散構成、ダウンタイム発生時の自動切り替えモード

厳密に言えば、nginx には負荷分散バックエンド ノードのヘルス チェック機能はありませんが、デフ...

Docker のタイムゾーンの問題とデータ移行の問題

最新のソリューション: -v /usr/share/zoneinfo/Asia/Shanghai:/...

Mac Docker x509証明書の問題を解決する

質問最近、プライベートミラーセンターにログインする必要がありましたが、ログイン時にエラーメッセージが...

ビジネス HTML メール作成に関する提案

許可ベースの電子メール マーケティングにより、マーケティングとプロモーションのコストを大幅に削減でき...

Vueは複数の画像の追加、表示、削除を実装します

この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...

元のPATHを上書きしてコマンドが見つからないというメッセージが表示されるコマンド失敗の問題を解決する方法

同僚から、LINUX サーバー上の多くのコマンドが (コマンドが見つかりません) というプロンプトで...

MySQL可視化ツールNavicatへの接続方法

Navicatをインストールした後次のエラーが発生する場合があります: Client does no...

XHTML 入門チュートリアル: XHTML Web ページ画像アプリケーション

<br />適度に画像を追加すると、Web ページがより美しくなります。 画像タグ &l...

html-webpack-plugin' を使用してメモリ内に HTML ページ プラグインを生成します。

webpackjs ファイルをパッケージ化するときに、次に示すように、index.html インタ...

JavaScript で配列の最大値と最小値を実装する 6 つの方法

配列[1,8,5,4,3,9,2]が与えられた場合、配列の最大値9と最小値1を取得するアルゴリズムを...

Vue 大画面データ表示例

効率的に要件を満たし、コンポーネント ライブラリの肥大化や車輪の再発明を避けるために、私は以前、大画...

vuexの強制リフレッシュによるデータ損失問題の分析

vuex 永続状態基本原則: すべての vuex データをローカルストレージに保存し、ページが更新さ...

Linux で測位バックグラウンド サービスが時々クラッシュする問題の解決方法

問題の説明最近のバックグラウンドサービスでは、特定の命令の要求データをディスクに保存する新しい機能が...

MySQLの高可用性と高パフォーマンスのクラスタを構築する方法

目次MySQL NDB Clusterとはクラスター構築のための準備作業クラスターのデプロイを開始す...