bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorException の解決方法

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorException の解決方法

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorException の解決方法

1. 開発環境

休止状態バージョン: 5.1.0.Final
Bitronix btm バージョン: 2.1.3

2 例外スタック情報

原因: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ユーザー ''@'localhost' によるデータベース 'hibernate' へのアクセスが拒否されました
  sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブ メソッド)
  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) で
  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) で
  java.lang.reflect.Constructor.newInstance(Constructor.java:423) で
  com.mysql.jdbc.Util.handleNewInstance(Util.java:377) で
  com.mysql.jdbc.Util.getInstance(Util.java:360) で
  com.mysql.jdbc.SQLError.createSQLException(SQLError.java:978) で
  com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3887) で
  com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3823) で
  com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870) で
  com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1659) で
  com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1206) で
  com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2234) で
  com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265) で
  com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064) で
  com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:790) で
  com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:44) で
  sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブ メソッド)
  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) で
  sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) で
  java.lang.reflect.Constructor.newInstance(Constructor.java:423) で
  com.mysql.jdbc.Util.handleNewInstance(Util.java:377) で
  com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395) で
  com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325) で
  bitronix.tm.resource.jdbc.lrc.LrcXADataSource.getXAConnection(LrcXADataSource.java:104) で
  ... 33 件以上

3 問題を分析する

明らかに、MySQL データベースにアクセスする権限がないため、アクセスは拒否されます。

コードを開いてみると、それが真実であることがわかりました。コードには、データベースにアクセスするためのアカウントとパスワードが提供されていませんでした。

ds.setClassName("bitronix.tm.resource.jdbc.lrc.LrcXADataSource");
          ds.getDriverProperties().put() を実行します。
              「URL」、
              接続URL != null ? 接続URL
                  : "jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull"
          );
          プロパティ dp = ds.getDriverProperties();
          dp.put("ドライバークラス名", "com.mysql.jdbc.Driver");
          ds.setDriverProperties(dp);

4. 問題解決

さっさと追加すれば問題は解決ですO(∩_∩)O~

...
dp.put("ユーザー","ルート");
dp.put("パスワード","");
...
ds.setDriverProperties(dp);

読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQL で珍しい文字を挿入できないときの対処方法 (文字列値が正しくない)
  • MySQL でデータベースを作成した後、ユーザー ''root''@''%'' によるデータベース ''xxx'' へのアクセスが拒否される問題を解決する
  • MySQL で中国語を入力するときに発生するエラー 1366 の解決方法
  • MySQL と Oracle SQL 言語の違いの比較
  • MySQL での or ステートメントの使用例

<<:  Vue で Axios カプセル化を使用するための完全なチュートリアル

>>:  Ubuntu Server のターミナルのウェルカム メッセージで広告を無効にする方法

推薦する

HTMLテキスト内のすべてのタグを置き換える方法

(?i) は大文字と小文字を区別しないことを意味します。大文字と小文字をすべて置き換えます。 htm...

検索データ表示を実装するJavaScript

この記事ではJavaScript検索のデータ表示コードを参考までに共有します。具体的な内容は以下のと...

SQL における distinct と row_number() over() の違いと使い方

1 はじめにデータベース内のデータを操作するための SQL 文を記述するときに、いくつかの不快な問題...

有名なウェブサイトのロゴに使われている25種類のフォントのコレクション

この記事では、25 の有名な Web サイト (Google、Yahoo、Twitter、Digg ...

リフレッシュリダイレクトを実現する HTML ヘッドタグメタ

コードをコピーコードは次のとおりです。 <html> <ヘッド> <m...

Alibaba Cloud CentOS7 サーバーの nginx 構成と FAQ の分析

序文:この記事は、jackyzm のブログ https://www.cnblogs.com/jack...

Vueライフサイクルの詳細な説明

目次ライフサイクルを理解する理由ライフサイクルとはライフサイクルフック関数作成され、マウントされたフ...

Vue2.x と Vue3.x のルーティングフックの違いの詳細な説明

目次vue2.xプレコンセプト:ルーティングフックのカテゴリルーティングとコンポーネントの概念(フッ...

MySQL 8.0.13 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)

MySQL 8.0.13 のインストールと設定方法を皆さんと共有したいと思います。お役に立てれば幸...

Nginx 環境での WordPress マルチサイト構成の詳細な説明

WordPress のマルチサイト機能を使用すると、1 つの WordPress プログラムをインス...

Centos7.x での Nginx のインストール、SSL 設定、一般的なコマンドの詳細な説明

1. インストールyumを使用してインストールする ##yum nginx を自動的にインストールす...

CentOS7 は rpm パッケージを使用して mysql 5.7.18 をインストールします

例示するこの記事は、2017 年 5 月 20 日に MySQL-5.7.18 を使用して作成されま...

InnoDB エンジンの redo ファイルのメンテナンス方法

InnoDB REDO ログ ファイルのサイズと数を調整する場合は、次の手順に従います。 1. My...

Linuxシステムにおけるキー認証に基づくSSHサービスのプロセス

ご存知のとおり、SSH は現在、リモート ログイン セッションやその他のネットワーク サービスにセキ...