ericgrandt / TotalEconomy

All in one economy plugin for Minecraft.
https://ericgrandt.github.io/TotalEconomy/
31 stars 33 forks source link

"Using Password=NO" even though Password is set #327

Closed Xaymar closed 4 years ago

Xaymar commented 5 years ago

Versions:

Description of issue

I am unable to use the database option with a MySQL database, even though libmysql-java (MySQL JDBC Driver) is installed. For whatever reason it instead tries to connect with MariaDB, a JDBC Driver that isn't actually installed, and also forgets that there is a password set in the configuration.

Kinda at my wits end for this one. Nothing else is having trouble with MySQL except Total Economy.

Console errors

[19:13:20] [Server thread/ERROR] [com.zaxxer.hikari.pool.HikariPool]: HikariPool-1 - Exception during pool initialization.
java.sql.SQLInvalidAuthorizationSpecException: Could not connect: Access denied for user 'srv-minecraft-1'@'localhost' (using password: NO)
        at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.get(ExceptionMapper.java:154) ~[ExceptionMapper.class:1.12.2-2768-7.1.6-RC3557]
        at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.getException(ExceptionMapper.java:118) ~[ExceptionMapper.class:1.12.2-2768-7.1.6-RC3557]
        at org.mariadb.jdbc.internal.util.exceptions.ExceptionMapper.throwException(ExceptionMapper.java:92) ~[ExceptionMapper.class:1.12.2-2768-7.1.6-RC3557]
        at org.mariadb.jdbc.Driver.connect(Driver.java:111) ~[Driver.class:1.12.2-2768-7.1.6-RC3557]
        at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:112) ~[DriverDataSource.class:1.12.2-2768-7.1.6-RC3557]
        at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:358) ~[PoolBase.class:1.12.2-2768-7.1.6-RC3557]
        at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:201) ~[PoolBase.class:1.12.2-2768-7.1.6-RC3557]
        at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:443) [HikariPool.class:1.12.2-2768-7.1.6-RC3557]
        at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:514) [HikariPool.class:1.12.2-2768-7.1.6-RC3557]
        at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:111) [HikariPool.class:1.12.2-2768-7.1.6-RC3557]
        at com.zaxxer.hikari.HikariDataSource.<init>(HikariDataSource.java:72) [HikariDataSource.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.common.service.sql.SqlServiceImpl$1.load(SqlServiceImpl.java:138) [SqlServiceImpl$1.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.common.service.sql.SqlServiceImpl$1.load(SqlServiceImpl.java:123) [SqlServiceImpl$1.class:1.12.2-2768-7.1.6-RC3557]
        at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3716) [minecraft_server.1.12.2.jar:?]
        at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2424) [minecraft_server.1.12.2.jar:?]
        at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2298) [minecraft_server.1.12.2.jar:?]
        at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2211) [minecraft_server.1.12.2.jar:?]
        at com.google.common.cache.LocalCache.get(LocalCache.java:4154) [minecraft_server.1.12.2.jar:?]
        at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158) [minecraft_server.1.12.2.jar:?]
        at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5147) [minecraft_server.1.12.2.jar:?]
        at org.spongepowered.common.service.sql.SqlServiceImpl.getDataSource(SqlServiceImpl.java:163) [SqlServiceImpl.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.common.service.sql.SqlServiceImpl.getDataSource(SqlServiceImpl.java:144) [SqlServiceImpl.class:1.12.2-2768-7.1.6-RC3557]
        at com.erigitic.sql.SqlManager.getDataSource(SqlManager.java:66) [SqlManager.class:?]
        at com.erigitic.sql.SqlManager.<init>(SqlManager.java:46) [SqlManager.class:?]
        at com.erigitic.main.TotalEconomy.preInit(TotalEconomy.java:169) [TotalEconomy.class:?]
        at org.spongepowered.common.event.listener.GamePreInitializationEventListener_TotalEconomy_preInit37.handle(Unknown Source) [?:?]
        at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) [RegisteredListener.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:383) [SpongeModEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.event.SpongeModEventManager.extendedPost(SpongeModEventManager.java:443) [SpongeModEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:404) [SpongeModEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:248) [SpongeImpl.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:283) [SpongeMod.class:1.12.2-2768-7.1.6-RC3557]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
        at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [minecraft_server.1.12.2.jar:?]
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.EventBus.post(EventBus.java:217) [minecraft_server.1.12.2.jar:?]
        at net.minecraftforge.fml.common.LoadController.redirect$onPost$zza000(LoadController.java:560) [LoadController.class:?]
        at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136) [LoadController.class:?]
        at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:627) [Loader.class:?]
        at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:99) [FMLServerHandler.class:?]
        at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:333) [FMLCommonHandler.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:125) [nz.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
Caused by: java.sql.SQLException: Could not connect: Access denied for user 'srv-minecraft-1'@'localhost' (using password: NO)
Current charset is UTF-8. If password has been set using other charset, consider using option 'passwordCharacterEncoding'
        at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.authentication(AbstractConnectProtocol.java:772) ~[AbstractConnectProtocol.class:1.12.2-2768-7.1.6-RC3557]
        at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.handleConnectionPhases(AbstractConnectProtocol.java:701) ~[AbstractConnectProtocol.class:1.12.2-2768-7.1.6-RC3557]
        at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:406) ~[AbstractConnectProtocol.class:1.12.2-2768-7.1.6-RC3557]
        at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:1029) ~[AbstractConnectProtocol.class:1.12.2-2768-7.1.6-RC3557]
        at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:483) ~[Utils.class:1.12.2-2768-7.1.6-RC3557]
        at org.mariadb.jdbc.Driver.connect(Driver.java:106) ~[Driver.class:1.12.2-2768-7.1.6-RC3557]
        ... 60 more
[19:13:20] [Server thread/WARN] [totaleconomy]: Error connecting to database! Check the config and make sure the database credentials are correct!
[19:13:20] [Server thread/ERROR] [Sponge]: Could not pass FMLPreInitializationEvent to Plugin{id=totaleconomy, name=Total Economy, version=1.8.1, description=All in one economy plugin for Minecraft/Sponge, s$
java.lang.NullPointerException: null
        at com.erigitic.sql.SqlManager.createTable(SqlManager.java:78) ~[SqlManager.class:?]
        at com.erigitic.config.AccountManager.setupDatabase(AccountManager.java:152) ~[AccountManager.class:?]
        at com.erigitic.config.AccountManager.<init>(AccountManager.java:88) ~[AccountManager.class:?]
        at com.erigitic.main.TotalEconomy.preInit(TotalEconomy.java:173) ~[TotalEconomy.class:?]
        at org.spongepowered.common.event.listener.GamePreInitializationEventListener_TotalEconomy_preInit37.handle(Unknown Source) ~[?:?]
        at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:383) [SpongeModEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.event.SpongeModEventManager.extendedPost(SpongeModEventManager.java:443) [SpongeModEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:404) [SpongeModEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:248) [SpongeImpl.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:283) [SpongeMod.class:1.12.2-2768-7.1.6-RC3557]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
        at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [minecraft_server.1.12.2.jar:?]
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.EventBus.post(EventBus.java:217) [minecraft_server.1.12.2.jar:?]
        at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219) [LoadController.class:?]
        at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197) [LoadController.class:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
        at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [minecraft_server.1.12.2.jar:?]
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.EventBus.post(EventBus.java:217) [minecraft_server.1.12.2.jar:?]
        at net.minecraftforge.fml.common.LoadController.redirect$onPost$zza000(LoadController.java:560) [LoadController.class:?]
        at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136) [LoadController.class:?]
        at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:627) [Loader.class:?]
        at net.minecraftforge.fml.server.FMLServerHandler.beginServerLoading(FMLServerHandler.java:99) [FMLServerHandler.class:?]
        at net.minecraftforge.fml.common.FMLCommonHandler.onServerStart(FMLCommonHandler.java:333) [FMLCommonHandler.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:125) [nz.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

... Skipping tons of other plugin log output ...

[19:13:34] [Server thread/ERROR] [Sponge]: Could not pass FMLInitializationEvent to Plugin{id=totaleconomy, name=Total Economy, version=1.8.1, description=All in one economy plugin for Minecraft/Sponge, sour$
java.lang.NullPointerException: listener
        at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:787) ~[minecraft_server.1.12.2.jar:?]
        at org.spongepowered.common.event.SpongeEventManager.registerListener(SpongeEventManager.java:223) ~[SpongeEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.common.event.SpongeEventManager.registerListeners(SpongeEventManager.java:313) ~[SpongeEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at com.erigitic.main.TotalEconomy.registerListeners(TotalEconomy.java:415) ~[TotalEconomy.class:?]
        at com.erigitic.main.TotalEconomy.init(TotalEconomy.java:200) ~[TotalEconomy.class:?]
        at org.spongepowered.common.event.listener.GameInitializationEventListener_TotalEconomy_init38.handle(Unknown Source) ~[?:?]
        at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:383) [SpongeModEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.event.SpongeModEventManager.extendedPost(SpongeModEventManager.java:443) [SpongeModEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:404) [SpongeModEventManager.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:248) [SpongeImpl.class:1.12.2-2768-7.1.6-RC3557]
        at org.spongepowered.mod.SpongeMod.onStateEvent(SpongeMod.java:283) [SpongeMod.class:1.12.2-2768-7.1.6-RC3557]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
        at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [minecraft_server.1.12.2.jar:?]
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.EventBus.post(EventBus.java:217) [minecraft_server.1.12.2.jar:?]
        at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219) [LoadController.class:?]
        at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197) [LoadController.class:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_201]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_201]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_201]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_201]
        at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) [minecraft_server.1.12.2.jar:?]
        at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) [minecraft_server.1.12.2.jar:?]
        at com.google.common.eventbus.EventBus.post(EventBus.java:217) [minecraft_server.1.12.2.jar:?]
        at net.minecraftforge.fml.common.LoadController.redirect$onPost$zza000(LoadController.java:560) [LoadController.class:?]
        at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136) [LoadController.class:?]
        at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:744) [Loader.class:?]
        at net.minecraftforge.fml.server.FMLServerHandler.finishServerLoading(FMLServerHandler.java:108) [FMLServerHandler.class:?]
        at net.minecraftforge.fml.common.FMLCommonHandler.onServerStarted(FMLCommonHandler.java:338) [FMLCommonHandler.class:?]
        at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:219) [nz.class:?]
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:486) [MinecraftServer.class:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]

Steps to reproduce

  1. Install and configure MySQL to contain a database and user with rights to that database.
  2. Install Forge, Sponge and TotalEconomy.
  3. Configure Total Economy for MySQL.
  4. Launch Server.

Related Configuration Files

ericgrandt commented 5 years ago

Could you try regenerating your configuration files and inputting the SQL information again? This way we can cross out the config files as being the issue. Be sure to make a backup of your current files.

When you say Total Economy is the only thing having issues with MySql, I assume this means you've tried connecting to this same exact database from elsewhere right?

Xaymar commented 5 years ago

Could you try regenerating your configuration files and inputting the SQL information again? This way we can cross out the config files as being the issue. Be sure to make a backup of your current files.

Done:

currency {
    dollar {
        currency-plural=Dollars
        currency-singular=Dollar
        default=true
        prefix-symbol=true
        startbalance="100"
        symbol="$"
        transferable=true
    }
}
database {
    enable=true
    password="UnexpectedPasswordException"
    url="mysql://localhost:3306/srv-minecraft-1"
    user="srv-minecraft-1"
}
features {
    jobs {
        enable=false
        notifications=true
        salary=true
    }
    moneycap {
        amount=10000000
        enable=false
    }
    shops {
        min-item-price=0
        max-item-price=1000000000
        chestshop {
            enable=true
            price=1000
        }
    }
}
language=en
save-interval=30

If we ignore the password in which I'm basically putting random values in now as it doesn't even use it, they look the same.

When you say Total Economy is the only thing having issues with MySql, I assume this means you've tried connecting to this same exact database from elsewhere right?

Yes, I've ported my old CraftBukki plugin Inception to Forge 1.12.2, and it uses the MySQL JDBC driver to deal with the storage of intermediate transport worlds (a new feature that wasn't possible with CraftBukkit).

Xaymar commented 5 years ago

Off Topic: Are there any downsides to switching to MariaDB? I'm only using MySQL due to it being much nicer to the NVMe SSDs than PostGreSQL and SQLite/H2.

ericgrandt commented 5 years ago

There shouldn't be any downsides to using MariaDB. I'm not sure why MySQL isn't working for you as I personally use it, and sometimes MariaDB, to test this plugin.

I'll have to look into this some more as this should not be happening.

MarkL4YG commented 5 years ago

FYI: TotalEconomy does not decide which database driver to use. The URL indicates the SqlService of Sponge what driver should be used. As you can see here, we pass it on to the service and heres how the URL is constructed.

I personally don't see any reason why the wrong driver would be used to connect

Xaymar commented 5 years ago

Well I tried with MariaDB now and was met with success. Moving all data from MySQL to MariaDB went smoothly, and I even got a ~60% faster database out of it. It seems that the problem is caused by Sponge using the mariadb driver for a mysql connection, as the mariadb driver does not support MySQL 8.0 and higher.

SirFancyBacon commented 5 years ago

I have the same issue, is the only known solution migrating to MariaDB? I have 3 other plugins that use my database so i would rather not migrate them :)

ericgrandt commented 5 years ago

This shouldn't be the only solution. I'm not sure why this is happening. We'll have to do some more testing on our end. For now, try redownloading the latest release: https://ore.spongepowered.org/Erigitic/Total-Economy/versions/1.8.1.

SirFancyBacon commented 5 years ago

I'll do that once i am home and report back with the log so you can see any errors

ericgrandt commented 5 years ago

Are you getting the same error @hellbringer616? I just tested this on my end, using MySQL 8, and I'm getting a different error. It's also using the mariadb jdbc driver. After looking around, I'm pretty sure it's normal for MySQL to use this driver.

ericgrandt commented 5 years ago

After downgrading to MySQL 5, I was able to connect to the database and server fine.

SirFancyBacon commented 5 years ago

I'll need to double check once I am home (it'll be some hours. As I'm at work)

I can tell you I am using SQL8 installed with WAMP

MarkL4YG commented 5 years ago

Out of coincidence, I may have found the reason why Sponge avoids using the MySQL driver and uses MariaDBs instead.
HikaryCP - the connection pooling library Sponge uses - mentions issues with the MySQL driver in their readMe and even strikes out the jdbc driver for MySQL.

Xaymar commented 5 years ago

HikaryCP - the connection pooling library Sponge uses - mentions issues with the MySQL driver in their readMe and even strikes out the jdbc driver for MySQL.

That would explain why it attempts to use MariaDB, which wasn't installed on my system. I've also been able to confirm that downgrading to MySQL 5 does work, but some of the connectivity options make it break (which is likely why it didn't work initially for me).