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 のターミナルのウェルカム メッセージで広告を無効にする方法

推薦する

MySQL の自己結合重複排除に関する注意事項

機能シナリオを簡単に説明しましょう。データ行フィールドは次のとおりです。名前開始日時タイプこの表では...

MySQLデータベースの一般的な最適化操作のまとめ(経験共有)

序文データ中心のアプリケーションの場合、データベースの品質はプログラムのパフォーマンスに直接影響する...

フレックスインサイドボタンの垂直方向の中央揃えが中央揃えにならない問題の解決方法

問題の説明ボタンのスタイルはアイコン + テキストです。フレックス レイアウトを使用して垂直方向に中...

Vue の新しいパートナー TypeScript クイックスタート実践記録

目次1. 公式の足場を使って構築する2. プロジェクトディレクトリ分析3. TypeScript の...

MySQLサービスを削除する具体的な方法

MySQLは次のエラーを表示します「コントロール パネル -> 管理ツール -> サービ...

一般的なメールボックスで正常に表示できる HTML メールを作成するためのヒント

HTML メールを送信するためのヒント: スタイルを使用してインライン CSS を記述する、使用する...

FileZilla 425 FTP に接続できない (Alibaba クラウド サーバー) の解決策

Alibaba Cloud ServerがFTPに接続できないFileZilla 425 データ接続...

MySQL information_schema データベースの詳細な説明

1. 概要information_schema データベースは performance_schema...

4つの柔軟なScssコンパイル出力スタイル

多くの人は、Scss を使用する瞬間からコンパイル方法を説明されてきました。したがって、コマンドのコ...

CSS3実践手法のまとめ(推奨)

1. 丸い境界線: CSSコードコンテンツをクリップボードにコピー境界線の半径: 4px ; 2....

Linux でのインストール中にソフトウェア パッケージの依存関係レポートに関連する問題の解決策

目次背景1) yumのkeepchche機能を有効にする: 方法1 2) yum-utils ソフト...

Linux で Nginx 1.16.0 をインストールするための詳細なチュートリアル

最近 Linux をいじっていたので、nginx の新しいバージョンをインストールしたいと思いました...

VueはEchartsを使用して3次元棒グラフを実装します

この記事では、Echartsを使用して3次元棒グラフを実装するVueの具体的なコードを参考までに共有...

2019 年に最も役立ち重要なオープンソース ツール トップ 10

Black Duck の 2017 年のオープンソース調査では、回答者の 77% がオープンソース...

mysql8.0.19 でパスワードを忘れた場合の完璧な解決策

おすすめの読み物: MySQL 8.0.19 は、間違ったパスワードを 3 回入力するとアカウント ...