服务器更换了一个数据库软件(现在时phpstudy最新版),将以前的老数据库移植过去后 PP就开始一直报这个问题了。请问有懂得大佬能够给一下解决方案吗
 Tue Dec 28 05:42:55 CST 2021 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.
2021 年 12 月 28 日星期二 05:42:55 CST 警告:不建议在没有服务器身份验证的情况下建立 SSL 连接。根据 MySQL 5.5.45+、5.6.26+ 和 5.7.6+ 的要求,如果未设置显式选项,则必须默认建立 SSL 连接。为了符合不使用 SSL 的现有应用程序,verifyServerCertificate 属性设置为“false”。您需要通过设置 useSSL=false 来显式禁用 SSL,或者设置 useSSL=true 并为服务器证书验证提供信任库。
其二如下(已折叠)
| [05:47:22 ERROR]: [PlayerPoints] Could not create getter statement. com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 266,843 milliseconds ago.  The last packet sent successfully to the server was 266,843 milliseconds ago. is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem.         at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]         at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[?:?]         at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:?]         at java.lang.reflect.Constructor.newInstance(Constructor.java:490) ~[?:?]         at com.mysql.jdbc.Util.handleNewInstance(Util.java:403) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3706) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2506) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2675) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1915) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1254) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at lib.PatPeter.SQLibrary.Database.query(Database.java:261) ~[?:?]         at lib.PatPeter.SQLibrary.Database.query(Database.java:278) ~[?:?]         at org.black_ixx.playerpoints.storage.models.MySQLStorage.getPoints(MySQLStorage.java:87) ~[?:?]         at org.black_ixx.playerpoints.storage.StorageHandler.getPoints(StorageHandler.java:39) ~[?:?]         at org.black_ixx.playerpoints.PlayerPointsAPI.look(PlayerPointsAPI.java:102) ~[?:?]         at org.black_ixx.playerpoints.PlayerPointsAPI.give(PlayerPointsAPI.java:43) ~[?:?]         at org.black_ixx.playerpoints.commands.GiveCommand.execute(GiveCommand.java:68) ~[?:?]         at org.black_ixx.playerpoints.services.CommandHandler.onCommand(CommandHandler.java:130) ~[?:?]         at org.bukkit.command.PluginCommand.execute(PluginCommand.java:45) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:172) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at org.bukkit.craftbukkit.v1_16_R3.CraftServer.dispatchCommand(CraftServer.java:810) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at studio.trc.bukkit.litesignin.reward.command.SignInRewardCommand.runWithThePlayer(SignInRewardCommand.java:44) ~[?:?]         at studio.trc.bukkit.litesignin.reward.type.SignInNormalReward.lambda$giveReward$0(SignInNormalReward.java:203) ~[?:?]         at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) ~[?:?]         at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) ~[?:?]         at studio.trc.bukkit.litesignin.reward.type.SignInNormalReward.giveReward(SignInNormalReward.java:203) ~[?:?]         at studio.trc.bukkit.litesignin.reward.SignInRewardQueue.run(SignInRewardQueue.java:62) ~[?:?]         at studio.trc.bukkit.litesignin.database.MySQLStorage.giveReward(MySQLStorage.java:182) ~[?:?]         at studio.trc.bukkit.litesignin.database.MySQLStorage.signIn(MySQLStorage.java:343) ~[?:?]         at studio.trc.bukkit.litesignin.event.Menu.click(Menu.java:89) ~[?:?]         at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor41.execute(Unknown Source) ~[?:?]         at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:611) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.PlayerConnection.a(PlayerConnection.java:2663) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:32) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.PacketPlayInWindowClick.a(SourceFile:10) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:43) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.TickTask.run(SourceFile:18) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.MinecraftServer.bb(MinecraftServer.java:1225) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.MinecraftServer.executeNext(MinecraftServer.java:1218) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.MinecraftServer.sleepForTick(MinecraftServer.java:1194) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1034) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:179) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         at java.lang.Thread.run(Thread.java:834) [?:?] Caused by: java.net.SocketException: Software caused connection abort: socket write error         at java.net.SocketOutputStream.socketWrite0(Native Method) ~[?:?]         at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110) ~[?:?]         at java.net.SocketOutputStream.write(SocketOutputStream.java:150) ~[?:?]         at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:81) ~[?:?]         at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:142) ~[?:?]         at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3688) ~[patched_1.16.5.jar:git-Yatopia-ver/1.16.5-42]         ... 45 more
 
 | 
            
        检查一下playerpoints/config.yml中
use-ssl这一项是否为false
如果为true的话改成false
            
        
让我也非常疑惑得就是,PP给得config里面并没有提供SSL得设置选项
 下面是结构表
下面是结构表
storage: MySQL
mysql:
  host: 127.0.0.1
  port: 3306
  database: [qwq]
  user: [qwq]
  password: [qwq]
  table: [qwq]
  import:
    use: false
    source: YAML
  export:
    use: false
    source: SQLITE
  retry: 10
vote:
  enabled: false
  amount: 100
  online: false
restrictions:
  autocompleteOnline: false
  hasPlayedBefore: false
debug:
  database: false
  uuid: false
vault: false
version: 2.1.5-SNAPSHOT
            
        什么版本的服务器
用的是什么版本的playerpoints
            
        
            
        
没有就在database后面加?useSSL=false。
最新版和旧版本无法做到数据互认
            
        
请问有办法把现版本的PP数据库里面的数据移植到3.1的版本里面吗,我刚刚尝试使用了3.1发现数据库之间的数据并不是兼容的。不知道能不能做移植
            
         本帖最后由 Viosin 于 2021-12-28 22:32 编辑 
这仅仅只是一个
警告,一般而言没有必要管他,而且很有可能也无法修复,因为PlayerPoints使用SQLLibrary作为数据库前置,并没有提供关闭SSL的选项.
SQLLibrary中创建数据库连接的关键语句在 lib.PatPeter.SQLibrary.MySQL 中如下:
- final String url = "jdbc:mysql://" + this.getHostname() + ":" + this.getPort() + "/" + this.getDatabase();
如上可见,你并不能中关闭SSL,这一部分已经被代码写死,没有提供配置选项。
然而,如果你始终觉得这个
警告不应该存在,那么你可以编辑你的数据库配置,在[mysqld]下面添加一行 skip-ssl 来关闭SSL验证,修改完毕后保存文件并重启数据库即可。
 
            
        检查一下playerpoints/config.yml