Проблема с DB MariaDB-10 для Traccar

kaket07 2 years ago

Здравствуйте.
Столкнулся с неприятной историей по BD где Traccar хранит данные. Как я понял, вне зависимости от версии сервера Traccar, работает и хранит данные в таблицах UTF8 (UTF8_general_ci). Использовал MariaDB 10 (10.3.32.0) и не знал проблем. Но когда настало время поставить (перенести) на другой компьютер Maria DB 10, взял по старше версию (актуальную даже не подозревая о проблеме) и как оказалось работа BD прекращена UTF8 (UTF8_general_ci) ее просто нет в новых версиях. В новых версиях возможность есть использовать только UTF8mb3 (mb4) и старше как UTF16 (16le), UTF32. Вот - Images.
Подскажите, как быть в этой ситуации, возвращаться к старой версии Maria DB или есть вариант перехода но другой вариант типа таблиц в Maria DB?

kaket07 2 years ago

Может подскажите какой нужно использовать правильный драйвер или корректный адрес для работы с BD UTF8mb3 (UTF8mb3_general_ci) или UTF8mb4 (UTF8mb4_general_ci) в файле "traccar.xml" в строке:

<entry key='database.driver'>org.mariadb.jdbc.Driver</entry>

и

<entry key='database.url'>jdbc:mariadb://localhost/traccar?serverTimezone=UTC&amp;allowPublicKeyRetrieval=true&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
kaket07 2 years ago

В логе у меня следующее:

2023-07-30 21:32:06  INFO: Operating system name: Windows 10 version: 10.0 architecture: amd64
2023-07-30 21:32:06  INFO: Java runtime name: OpenJDK 64-Bit Server VM vendor: Eclipse Adoptium version: 17.0.6+10
2023-07-30 21:32:06  INFO: Memory limit heap: 4070mb non-heap: 0mb
2023-07-30 21:32:06  INFO: Character encoding: Cp1251 charset: windows-1251
2023-07-30 21:32:06  INFO: Version: 5.8
2023-07-30 21:32:06  INFO: Starting server...
2023-07-30 21:32:06  INFO: HikariPool-1 - Starting...
2023-07-30 21:32:12 ERROR: HikariPool-1 - Exception during pool initialization. - Unknown system variable 'transaction_isolation' - CJException (... < DatabaseModule:79 < <gener:-1 < *:-1 < ... < MainModule:123 < ...)
2023-07-30 21:32:12 ERROR: Main method error - Unknown system variable 'transaction_isolation' - CJException (... < DatabaseModule:79 < <gener:-1 < *:-1 < ... < MainModule:123 < ...)
2023-07-30 21:32:12  WARN: JNA: Callback org.traccar.WindowsService$ServiceMain@4ebff610 threw the following exception - Unknown system variable 'transaction_isolation' - CJException (... < DatabaseModule:79 < <gener:-1 < *:-1 < ... < MainModule:123 < ...)
kaket07 2 years ago

Делал таблицу "UTF8mb4_general_ci" или нужно "UTF8mb4_unicode_ci"...
Я окончательно потерялся.

Anton Tananaev 2 years ago
kaket07 2 years ago

Добрый день.
Почитал пост, попробовал применить указанное, не получилось.

<entry key='database.driver'>org.mariadb.jdbc.Driver</entry>
<entry key='database.url'>jdbc:mariadb://localhost:3307/traccar?serverTimezone=UTC&amp;allowPublicKeyRetrieval=true&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=utf8&amp;sessionVariables=sql_mode=''</entry>

Лог получаю такой:

2023-08-12 16:28:40  INFO: Operating system name: Windows 10 version: 10.0 architecture: amd64
2023-08-12 16:28:40  INFO: Java runtime name: OpenJDK 64-Bit Server VM vendor: Eclipse Adoptium version: 17.0.6+10
2023-08-12 16:28:40  INFO: Memory limit heap: 4070mb non-heap: 0mb
2023-08-12 16:28:40  INFO: Character encoding: Cp1251 charset: windows-1251
2023-08-12 16:28:40  INFO: Version: 5.8
2023-08-12 16:28:40  INFO: Starting server...
2023-08-12 16:28:40 ERROR: Main method error - org.mariadb.jdbc.Driver - ClassNotFoundException (... < DatabaseModule:63 < <gener:-1 < *:-1 < ... < MainModule:123 < ...)
2023-08-12 16:28:40  WARN: JNA: Callback org.traccar.WindowsService$ServiceMain@4ebff610 threw the following exception - org.mariadb.jdbc.Driver - ClassNotFoundException (... < DatabaseModule:63 < <gener:-1 < *:-1 < ... < MainModule:123 < ...)
Anton Tananaev 2 years ago

А вы обновиться не забыли?

kaket07 2 years ago

Обновиться. Имеете ввиду обновить версию Traccar?

Anton Tananaev 2 years ago

Еще раз внимательно почитайте топик по ссылке.

kaket07 2 years ago

Версия 5.8 установлена в Windows.

kaket07 2 years ago

Я испробовал в принципе разные варианты из топика:

  • Обновление Traccar
  • Обновить драйвер в фале конфигурации
  • Изменить порт 3306 на 3307 в файле конфигурации
  • Изменить порт при установки MariaDB

Или что то упущено?

Anton Tananaev 2 years ago

Если под обновлением вы имеете ввиду до 5.8, то да, упущено. Читайте еще раз внимательно.

kaket07 2 years ago

Читать внимательнее уже просто некуда.

  • Traccar 5.8 (и привью) удачно подключается к базе c MariaBD 10.3:
    <entry key='database.driver'>com.mysql.cj.jdbc.Driver</entry>
    <entry key='database.url'>jdbc:mysql://localhost:3307/traccar?serverTimezone=UTC&amp;useSSL=false&amp;allowMultiQueries=true&amp;autoReconnect=true&amp;useUnicode=yes&amp;characterEncoding=UTF-8&amp;sessionVariables=sql_mode=''</entry>
  • Traccar 5.8 (и привью) не подключается базе c MariaBD 11 при одинаковых настройках.
    Ошибка:
2023-08-12 23:23:59  INFO: Java runtime name: OpenJDK 64-Bit Server VM vendor: Eclipse Adoptium version: 17.0.6+10
2023-08-12 23:23:59  INFO: Memory limit heap: 4070mb non-heap: 0mb
2023-08-12 23:23:59  INFO: Character encoding: Cp1251 charset: windows-1251
2023-08-12 23:23:59  INFO: Version: 5.8
2023-08-12 23:23:59  INFO: Starting server...
2023-08-12 23:23:59  INFO: HikariPool-1 - Starting...
2023-08-12 23:24:04 ERROR: HikariPool-1 - Exception during pool initialization. - Unknown system variable 'transaction_isolation' - CJException (... < DatabaseModule:79 < <gener:-1 < *:-1 < ... < MainModule:123 < ...)
2023-08-12 23:24:04 ERROR: Main method error - Unknown system variable 'transaction_isolation' - CJException (... < DatabaseModule:79 < <gener:-1 < *:-1 < ... < MainModule:123 < ...)
2023-08-12 23:24:05  WARN: JNA: Callback org.traccar.WindowsService$ServiceMain@4ebff610 threw the following exception - Unknown system variable 'transaction_isolation' - CJException (... < DatabaseModule:79 < <gener:-1 < *:-1 < ... < MainModule:123 < ...) ```

Меняю настройки драйвера как указано в ссылке на другой пост, в "traccar.xml", указывая "org.mariadb.jdbc.Driver", и database.url "jdbc:mysql" на "jdbc:mariadb".

``` 2023-08-12 23:28:40  INFO: Operating system name: Windows 10 version: 10.0 architecture: amd64
2023-08-12 23:28:40  INFO: Java runtime name: OpenJDK 64-Bit Server VM vendor: Eclipse Adoptium version: 17.0.6+10
2023-08-12 23:28:40  INFO: Memory limit heap: 4070mb non-heap: 0mb
2023-08-12 23:28:40  INFO: Character encoding: Cp1251 charset: windows-1251
2023-08-12 23:28:40  INFO: Version: 5.8
2023-08-12 23:28:40  INFO: Starting server...
2023-08-12 23:28:40 ERROR: Main method error - org.mariadb.jdbc.Driver - ClassNotFoundException (... < DatabaseModule:63 < <gener:-1 < *:-1 < ... < MainModule:123 < ...)
2023-08-12 23:28:40  WARN: JNA: Callback org.traccar.WindowsService$ServiceMain@4ebff610 threw the following exception - org.mariadb.jdbc.Driver - ClassNotFoundException (... < DatabaseModule:63 < <gener:-1 < *:-1 < ... < MainModule:123 < ...) ```

Играть с портами 3306 и 3307 тоже безрезультатно. Так как в первом случае работает с обоими портами если они были указаны при установки MariaBD, во втором случае не помогает и порты.
Anton Tananaev 2 years ago

Я же сказал что 5.8 не прокатит и нужно обновиться. Не знаю как вам помочь если в упор игнорируете то что я советую.

kaket07 2 years ago

Куда обновляться, на сайте в загрузках последняя версия 5.8., другой версии нет.
Или предлагаете обновится в плане понижения до версии 5.7?
Была в топике ссылка на Preview версию, но проблема и с ней такая же.