Skocz do zawartości
  • 0

AuthMe nie może się połączyć z bazą danych MySQL.


Pytanie

Witam. Używam pluginu AuthMe i mam  zainstalowaną aktywną bazę MySQL na mojej maszynie. (Nie mam jeszcze AuthMe Bungee, bo to mi pierdoli serwer z jakiegoś powodu.) Jeśli plugin AuthMe nie może się połączyć z MySQL, plugin się automatycznie wyłącza. (też tak pisze na konsoli). Plugin ten wymaga bazy danych.

Kombinowałem z tym wszystkim i udało mi się na chwilę, a po jakimś czasie, z nikąd straciło dostęp do bazy. Pamiętam, że nagle z jakiegoś powodu się zmieniło hasło do bazy danych, z nikąd. Pamiętam też, że był taki moment kiedy plugin 'działał' (wyświetlał się jako aktywny) ale się kompletnie posypał - odrejestrowało mnie, i za każdym razem kiedy się rejestrowałem (/register hasło hasło) wywalało mnie z serwera 'kicked for spamming'. 

Na konsoli cały czas mi pisało '[11-04 18:34:46]: [WARN] Error during SQL operation: [SQLTransientConnectionException]: AuthMeMYSQLPool - Connection is not available, request timed out after 30000ms.
[11-04 18:34:46]: java.sql.SQLTransientConnectionException: AuthMeMYSQLPool - Connection is not available, request timed out after 30000ms.' 

Pełny log to był;

[11-04 18:34:46]: [WARN] Error during SQL operation: [SQLTransientConnectionException]: AuthMeMYSQLPool - Connection is not available, request timed out after 30000ms.
[11-04 18:34:46]: java.sql.SQLTransientConnectionException: AuthMeMYSQLPool - Connection is not available, request timed out after 30000ms.
    at fr.xephi.authme.libs.com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:696)
    at fr.xephi.authme.libs.com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:197)
    at fr.xephi.authme.libs.com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:162)
    at fr.xephi.authme.libs.com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:128)
    at fr.xephi.authme.datasource.MySQL.getConnection(MySQL.java:185)
    at fr.xephi.authme.datasource.MySQL.getAuth(MySQL.java:312)
    at fr.xephi.authme.datasource.CacheDataSource$1.load(CacheDataSource.java:59)
    at fr.xephi.authme.datasource.CacheDataSource$1.load(CacheDataSource.java:56)
    at fr.xephi.authme.libs.com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3533)
    at fr.xephi.authme.libs.com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2282)
    at fr.xephi.authme.libs.com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2159)
    at fr.xephi.authme.libs.com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049)
    at fr.xephi.authme.libs.com.google.common.cache.LocalCache.get(LocalCache.java:3966)
    at fr.xephi.authme.libs.com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3989)
    at fr.xephi.authme.libs.com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4950)
    at fr.xephi.authme.libs.com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4956)
    at fr.xephi.authme.datasource.CacheDataSource.getAuth(CacheDataSource.java:101)
    at fr.xephi.authme.listener.PlayerListener.onAsyncPlayerPreLoginEventHighest(PlayerListener.java:143)
    at jdk.internal.reflect.GeneratedMethodAccessor46.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:500)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:482)
    at net.minecraft.server.v1_12_R1.LoginListener$LoginHandler.fireEvents(LoginListener.java:270)
    at net.minecraft.server.v1_12_R1.LoginListener$2.run(LoginListener.java:187)
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    at fr.xephi.authme.libs.com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:130)
    at fr.xephi.authme.libs.com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    at fr.xephi.authme.libs.com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825)
    at fr.xephi.authme.libs.com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:446)
    at fr.xephi.authme.libs.com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:239)
    at fr.xephi.authme.libs.com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:188)
    at fr.xephi.authme.libs.com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:138)
    at fr.xephi.authme.libs.com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:364)
    at fr.xephi.authme.libs.com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:206)
    at fr.xephi.authme.libs.com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:476)
    at fr.xephi.authme.libs.com.zaxxer.hikari.pool.HikariPool.access$100(HikariPool.java:71)
    at fr.xephi.authme.libs.com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:726)
    at fr.xephi.authme.libs.com.zaxxer.hikari.pool.HikariPool$PoolEntryCreator.call(HikariPool.java:712)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.lang.Thread.run(Thread.java:840)


No i plugin oczywiście teraz nie działa, bo tracił z nikąd dostęp.

Kiedy wchodze na serwer, jest nowy log:

https://imgur.com/gallery/vakDdLe

https://imgur.com/gallery/ACPLa2X


Serwer działa na wersji Spigot 1.12.2... (było by to problematyczne zmieniać na nowszy jar) Plugin to AuthMe 5.6.0 snapshot. Używam BungeeCorda. 

Odnośnik do komentarza
https://skript.pl/temat/56510-authme-nie-mo%C5%BCe-si%C4%99-po%C5%82%C4%85czy%C4%87-z-baz%C4%85-danych-mysql/
Udostępnij na innych stronach

2 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0

Może zmiana AuthMe na inny plugin? Z błędu wynika, że nie może połączyć się z bazą, mija request time i wywala błąd

  • 0

Widzę, że ktoś tu po bardzo długim czasie wyszedł spod kamienia, więc będę musiał wyjaśnić parę zmian z ostatnich lat.

Problem z bazą danych jest najprawdopodobniej spowodowany niepoprawną konfiguracją hasła, które, jak zgaduję, resetuje się przy uruchomieniu serwera bazy. "kicked for spamming" to błąd używanej przez ciebie wersji silnika.

Authme nie wymaga zewnętrznej bazy danych, nie wiem gdzie to przeczytałeś.

Używanie authme w sieci serwerów to same problemy - trzeba wciskać aż 4 pluginy i upewniać się, że nic się w nich nie zepsuło. Zamiast niego zalecam wrzucić sobie LibreLogin, który wszystko ma w sobie i w dużo bezpieczniejszy sposób autoryzuje gracza na serwerze limbo jeszcze zanim ten połączy się z serwerami mc.

NIGDY nie uruchamiaj żadnych aplikacji na roocie, to najbardziej podstawowa zasada. Utwórz nowego usera (NIE superusera) dla każdego uruchomionego serwera na maszynie.

Mamy 2023 rok, bungeecorda się już nie używa. Wrzuć sobie w jego miejsce velocity lub mentalnie przygotuj się na problemy z "niefajnymi graczami".

Na przyszłość jeśli będziesz chciał używać zewnętrzną bazę danych, o mysql nawet nie myśl. Dużo lepszą alternatywą jest mariadb.

Spigot jest martwym silnikiem, mało który plugin w tych czasach go wspiera i jest przepełniony sporymi błędami. Wymień go na silnik Paper.

I oczywiście zaktualizuj sobie silnik, otwierając serwer na tak starej wersji narażasz się na ogromne ilości zawartych w niej poważnych luk w bezpieczeństwie.

Edytowane przez Helios1993

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...