Closed wacch closed 2 years ago
jarファイルの中に新しいmysqlが入っているせいかもしれないので、リリースからno-mysqlと書いているものを使ってみてください。
no-mysqlを使用しましたが、状況が変わらないようです。 1つ目のエラーは出現しなくなりました。
[11:57:09 WARN]: java.sql.SQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up.
[11:57:09 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:110)
[11:57:09 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
[11:57:09 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
[11:57:09 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
[11:57:09 WARN]: at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
[11:57:09 WARN]: at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:898)
[11:57:09 WARN]: at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:823)
[11:57:09 WARN]: at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:448)
[11:57:09 WARN]: at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:241)
[11:57:09 WARN]: at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:198)
[11:57:09 WARN]: at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681)
[11:57:09 WARN]: at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229)
[11:57:09 WARN]: at PlayerRoleCheckerConnector-4.0-no-mysql.jar//net.klnetwork.playerrolechecker.api.utils.CommonUtils.createConnection(CommonUtils.java:107)
[11:57:09 WARN]: at PlayerRoleCheckerConnector-4.0-no-mysql.jar//net.klnetwork.playerrolecheckerconnector.table.PlayerDataSQL.getConnection(PlayerDataSQL.java:222)
[11:57:09 WARN]: at PlayerRoleCheckerConnector-4.0-no-mysql.jar//net.klnetwork.playerrolecheckerconnector.table.PlayerDataSQL.lambda$create$5(PlayerDataSQL.java:206)
[11:57:09 WARN]: at org.bukkit.craftbukkit.v1_18_R1.scheduler.CraftTask.run(CraftTask.java:101)
[11:57:09 WARN]: at org.bukkit.craftbukkit.v1_18_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:57)
[11:57:09 WARN]: at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22)
[11:57:09 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
[11:57:09 WARN]: at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
[11:57:09 WARN]: at java.base/java.lang.Thread.run(Thread.java:833)
[11:57:09 WARN]: Caused by: com.mysql.cj.exceptions.CJException: Access denied for user 'root'@'localhost'
[11:57:09 WARN]: at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[11:57:09 WARN]: at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
[11:57:09 WARN]: at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[11:57:09 WARN]: at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
[11:57:09 WARN]: at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
[11:57:09 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
[11:57:09 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:105)
[11:57:09 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:151)
[11:57:09 WARN]: at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:129)
[11:57:09 WARN]: at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:787)
[11:57:09 WARN]: at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:709)
[11:57:09 WARN]: at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:677)
[11:57:09 WARN]: at com.mysql.cj.protocol.a.NativeProtocol.checkErrorMessage(NativeProtocol.java:137)
[11:57:09 WARN]: at com.mysql.cj.protocol.a.NativeAuthenticationProvider.proceedHandshakeWithPluggableAuthentication(NativeAuthenticationProvider.java:468)
[11:57:09 WARN]: at com.mysql.cj.protocol.a.NativeAuthenticationProvider.connect(NativeAuthenticationProvider.java:210)
[11:57:09 WARN]: at com.mysql.cj.protocol.a.NativeProtocol.connect(NativeProtocol.java:1369)
[11:57:09 WARN]: at com.mysql.cj.NativeSession.connect(NativeSession.java:133)
[11:57:09 WARN]: at com.mysql.cj.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:842)
[11:57:09 WARN]: ... 15 more
解決に関係あるかどうかは分かりませんが、エラー文の後半にあるCaused by: com.mysql.cj.exceptions.CJException: Access denied for user 'root'@'localhost'
にてユーザーroot
が指定されているのですが、configでは全く異なるユーザー名を指定しており、(エラー文を見る限りでは)こちらが指定した認証情報でアクセスを試みていないように見受けられます。
以下にconfigの内容を一部のみ追記します。(一部「*」で隠しています)
DataBase:
BypassTable:
location: 'bypass.db'
useBypassCommand: true
type: SQLITE
PlayerDataTable:
server: 'localhost'
port: *****
database: '*******************'
username: 'PRC_mainland'
password: '******************'
option: '?allowPublicKeyRetrieval=true&useSSL=false&characterEncoding=latin1&autoReconnect=true'
type: MYSQL
修正しました (usernameの指定ミス)
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
このエラーは古いDriverを新しいDriverに変える警告文なのであまり気にしないでいいと思います (修正予定)
また問題がある場合は新しい問題を開いてください
対応ありがとうございました
Release4.0にてDBに接続できない問題が発生しています。 Release2.4にて正常接続できていた時の情報をそのままconfigで使用しているので(書式更新はしています)認証情報に誤りはないとは思うのですが、原因がさっぱりですので以下の情報を共有します。 当方あまり詳しくありませんので、不足の情報がありましたら教えていただけますと幸いです。
環境 Minecraft: Purpur1.18.1 git-1566 MySQL: 8.0.28-0 ubuntu0.20.04.3 (x86_64) Plugins: PlayerRoleChecker4.0 PlayerRoleCheckerConnector4.0
出力
追記 Config初期状態(MySQL認証情報のみ入力)でも同様のエラーが発生します。