Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Specified key was too long #66

#1

Probably i am coming a bit late to the party ;-)
While updating the rompr docker image i noticed the error 'Specified key was too long' when using mysql. (mariadb)
This is because UTF8mb4 allows max varchar 196 instead of 255.
I found i had to add

innodb_file_format = BARRACUDA
innodb_large_prefix = ON
innodb_default_row_format = DYNAMIC

to my INNODB Section.
Might be worth adding to the documentation.

Cheers Tom

  • replies 3
  • views 1.1K
  • likes 0
#2

Thanks Tom, you just saved me a lot of digging :)

Worth noting also that it appears the minimum version of MariaDB that will work is 10.3, which seems to be the most recent.

So much for MariaDB being a drop-in replacement for MySQL huh?

May I ask why you're using mysql on the docker images? I can no longer think of a single situation in which sqlite isn't preferable. Indeed I'm considering dropping support for mysql in the future, as dealing with all this fragmentation in the sql server world is becoming a chore.

rawdlite · Author
#3

MySQL allows me to access the DB via the Network from a Beets Plugin.
I have a rather large music collection that i organise with beets. This gives me a well structured filesystem on my NAS, which i can access through uPnP and dlna from various clients.
Now and then when listening through rompr, i notice a song that is not correctly sorted. I tag the Song in rompr for later fixing. The Beets Plugin then retrives the tags from the rompr DB and creates a directory for each of the the rompr tags with links to the tagged files.
This is probably not the most common usecase, but hey, you asked for it ;-)

#4

Crikey, the things people think of doing :)

I guess that is the use case though - db server on a different machine. It is becoming a real pain to support though, as there are significant differences between different versions of MySQL and MariaDB such that I'm effectively supporting 5 database systems and there's no reliable way to tell which one is actually being used and I have no way to test more than 2 of them....