switching to mySQL fails - Error: "The table does not comply with the requirements by an external plugin"

javier2605 years ago

In case it helps, I explain the error I have experimented trying to use mySQL.

I have recently installed the lastest traccar server for windows version "traccar-windows-64-4.5", and it's working well with embedded H2 database system. I wanted to test how to use traccar with mySQL, so I've installed the latest mySQL version for windows (8.0.17.0), installed as a cluster server only (one node only) in order to use "InnoDB".

Well, I stopped traccar service, changed config to use mySQL, started traccar service, and I was getting the following error in traccar logs:

liquibase.exception.DatabaseException: The table does not comply with the requirements by an external plugin. [Failed SQL: UPDATE traccardb.DATABASECHANGELOG SET MD5SUM = NULL]

Only "DATABASECHANGELOGLOCK" and "DATABASECHANGELOG" have been created, and if I try to run command

UPDATE traccardb.DATABASECHANGELOG SET MD5SUM = NULL

directly from mySQL console I'm getting same error.

After some googling, I see a page explaining that the error is produced because the table has not any primary key, so I have added one, running

ALTER TABLE `databasechangelog` ADD `id2` INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;

After that, restarting traccar service, traccar started well (missing tables were created during first running), and server is working, but I've detected some problems inserting devices, getting the same described error (I have not investigated more in depth, but seems other tables needs also a primary key).

So, I have returned to H2 database for now :).
I expect it helps. Thanks for all.