Juniper
服务器使用MMOCore的数据库每次跨服mmocore的数据清空
后台就会报错
mysql的版本是5.7以上(我不清楚5.7还是8)


mmocore两个服的配置为:(俩都一样的)
# Auto-Save feature automatically saves playerdata
# (class, level, etc.) and guild data
# (guild names, members, etc.) at a set interval.
auto-save:
    enabled: true
    interval: 60 # In seconds (1800 = 30 minutes)

# MySQL Support
mysql:
    enabled: true
    database: mmo
    host: localhost
    port: 3306
    user: root
    pass: 123456
    flags: '?autoReconnect=true&useSSL=true'

每次跨服若设置了职业,或者加了职业点后就会报错,然后数据到那个服就会清空(重置)。

  1. [22:13:55] [Craft Scheduler Thread - 16/WARN]: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

  2. The last packet successfully received from the server was 143,043 milliseconds ago.  The last packet sent successfully to the server was 0 milliseconds ago.
  3. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  4. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
  5. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
  6. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at java.lang.reflect.Constructor.newInstance(Unknown Source)
  7. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
  8. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990)
  9. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3517
  10. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3417)
  11. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3860)
  12. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524)
  13. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2675)
  14. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465)
  15. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1912)
  16. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2020)
  17. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at net.Indyuce.mmocore.manager.data.mysql.MySQLDataProvider.getResult(MySQLDataProvider.java:36)
  18. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at net.Indyuce.mmocore.manager.data.mysql.MySQLPlayerDataManager.loadData(MySQLPlayerDataManager.java:37)
  19. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at net.Indyuce.mmocore.manager.data.PlayerDataManager.lambda$setup$1(PlayerDataManager.java:51)
  20. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftTask.run(CraftTask.java:81)
  21. [22:13:55] [Craft Scheduler Thread - 3/INFO]: [QuestCreator] DEBUG: Loaded QuestBoard for QCDataManager (took 12 ms)
  22. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at org.bukkit.craftbukkit.v1_15_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54)
  23. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  24. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  25. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at java.lang.Thread.run(Unknown Source)
  26. [22:13:55] [Craft Scheduler Thread - 16/WARN]: Caused by: java.net.SocketException: Software caused connection abort: recv failed
  27. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at java.net.SocketInputStream.socketRead0(Native Method)
  28. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at java.net.SocketInputStream.socketRead(Unknown Source)
  29. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at java.net.SocketInputStream.read(Unknown Source)
  30. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at java.net.SocketInputStream.read(Unknown Source)
  31. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:101)
  32. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:144)
  33. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:174)
  34. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2966)
  35. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3427)
  36. [22:13:55] [Craft Scheduler Thread - 16/WARN]:  ... 15 more
  37. [22:13:55] [Craft Scheduler Thread - 16/ERROR]: [MMOCore] Failed to load playerdata of 'W55' from MySQL server
  38. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@59429795 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
  39. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4392abd0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
  40. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@202619be (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
  41. [22:13:55] [Craft Scheduler Thread - 21/WARN]: [MysqlPlayerDataBridge] Database connection is idle or terminated. Reconnecting...
  42. [22:13:55] [Craft Scheduler Thread - 21/WARN]: [MysqlPlayerDataBridge] Reconnecting the GetData connection...
  43. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@6d15cc10 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
  44. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@e4eedd (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
  45. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@56fe193a (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
  46. [22:13:55] [Craft Scheduler Thread - 21/INFO]: [MysqlPlayerDataBridge] GetData connection reconnected!
  47. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@468511b2 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
  48. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@533303e (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
  49. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@2206a443 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
  50. [22:13:55] [Craft Scheduler Thread - 13/WARN]: [Craft Scheduler Thread - 13] WARN me.Yi.libs.zaxxer.hikari.pool.PoolBase - XConomy - Failed to validate connection com.mysql.jdbc.JDBC4Connection@4974ef0 (No operations allowed after connection closed.). Possibly consider using a shorter maxLifetime value.
复制代码
求大神救救孩子吧

The_jimeng
mysql 那边截图看一下

Juniper
The_jimeng 发表于 2020-8-10 23:44
mysql 那边截图看一下



xiaoliuwu
这个插件没试过跨服!但是很多插件写支持mysql 但是实际上他只是换了一种存储方式!并不支持云组同步!
还有一点就是数据库的连接池!你看看大小设置了多少!调大一点!
报错里牵扯了2个 插件!
你可以试一下单端连接数据库 看看插件有没有正常存储 玩家资料!如果正常存储!在开一个端跳过去报错 清档的话!
要么插件不支持跨服同步!要么数据库连接池数值太低

Juniper
xiaoliuwu 发表于 2020-8-11 11:07
这个插件没试过跨服!但是很多插件写支持mysql 但是实际上他只是换了一种存储方式!并不支持云组同步!
还 ...

请问如何设置mysql的连接池啊
我将mysql的wait_timeout值改成388000
然后就停止报错了。
但是我看百度是要设置c3p0的连接池来解决这个问题
我想问问怎么实现

xiaoliuwu
w1632050253 发表于 2020-8-11 12:12
请问如何设置mysql的连接池啊
我将mysql的wait_timeout值改成388000
然后就停止报错了。

停止报错之后数据同步了吗? 如果切换服务器不报错的话 数据且不能同步的情况!
那就是此插件的数据库就是一个伪数据库!
好多插件功能强大 无法支持跨服同步!只是做了一种数据库存储 让资料更安全一些而已!

Juniper
xiaoliuwu 发表于 2020-8-11 12:16
停止报错之后数据同步了吗? 如果切换服务器不报错的话 数据且不能同步的情况!
那就是此插件的数据库就 ...

实现同步了。数据库中表的内容也有了

xiaoliuwu
w1632050253 发表于 2020-8-11 12:18
实现同步了。数据库中表的内容也有了

那为什么不给我金粒呀兄嘚!~

Juniper
xiaoliuwu 发表于 2020-8-12 12:40
那为什么不给我金粒呀兄嘚!~

哥们我自己解决的我为什么给你?