Отваливается подключение MySQL в версии 5.4.1
sverinn opened this issue · 5 comments
После обновления до версии 5.4.1 стал регулярно отваливаться драйвер MySQL. Как воспроизвести без понятия - через какое-то время он снова начинает работать без каких-либо манипуляций.
Конфиг:
"auth": {
"std": {
"core": {
"type": "mysql",
"mySQLHolder": {
"address": "localhost",
"port": 3306,
"username": "",
"password": "",
"database": "",
"timezone": "UTC+3",
"useHikari": true
},
"passwordVerifier": {
"type": "phpass"
},
"expireSeconds": 3600,
"table": "",
"tableHwid": "hwids",
"uuidColumn": "uuid",
"usernameColumn": "",
"passwordColumn": "",
"accessTokenColumn": "accessToken",
"hardwareIdColumn": "hwidId",
"serverIDColumn": "serverID"
},
"textureProvider": {
"skinURL": "https://mysite.ru/skins/%username%.png",
"cloakURL": "https://mysite.ru/cloaks/%username%.png",
"type": "request"
},
"isDefault": true,
"displayName": "Default"
}
19:03:10.841 [INFO ] Command 'modules'
19:03:10.842 [INFO ] [MODULE] LaunchServerCore v: 5.4.1 p: 0 deps: [] sig: NOT_SIGNED
19:03:10.843 [INFO ] [MODULE] OSSLSignCode v: 1.0.0 p: 0 deps: [LaunchServerCore] sig: NOT_SIGNED
19:03:10.843 [INFO ] [MODULE] AddHash v: 1.0.2 p: 0 deps: [LaunchServerCore] sig: NOT_SIGNED
19:03:10.843 [INFO ] [MODULE] SimpleCabinetModule v: 1.0.0 p: 0 deps: [LaunchServerCore] sig: NOT_SIGNED
19:03:10.844 [INFO ] [LAUNCHER MODULE] JavaRuntime_lmodule.jar sig: null
19:03:10.844 [INFO ] [LAUNCHER MODULE] DiscordGame_lmodule.jar sig: null
19:03:10.844 [INFO ] [LAUNCHER MODULE] Sentry_lmodule.jar sig: null
Какая версия сервера MySQL (точная)?
Попробуйте заменить mysql-connector-j на более старый
mysql Ver 8.0.32-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu))
При пробросе портов 3306 в ufw проблема пропала. К слову, лаунчсервер и MySQL находятся на одной машине, к базе лаунчсервер обращается через localhost.
При перезагрузке ubuntu лаунчсервер снова выдаёт ошибку com.mysql.cj.exceptions.UnableToConnectException: Public Key Retrieval is not allowed
.
Правила ufw как видимо не решили проблему.
В логе MySQL ошибок нет.
mysql-connector-j заменил на предыдущую версию - не помогло.
Это не причина проблемы, нормально работает и без параметров allowpublickeyretrieval и т.д. Проблема в том, что время от времени начинает выводить ошибку подключения.
При этом:
- перезагрузка лаунчсервера и даже службы MySQL не помогает;
- если использовать параметр allowpublickeyretrieval=true ничего не меняется;
- достаточно просто залогиниться в учётку MySQL лаунчсервера через phpMyAdmin и подключение снова начинает работать, и после этого даже перезагружать лаунчсервер не нужно.