SQL Error Specified key was too long
Opened this issue · 2 comments
Plugin produced error after configuring SQL to a mariadb server.
The problem
Error while performing an SQL query! Specified key was too long; max key length is 767 bytes
Steps to Reproduce
- Setup a MariaDB server and create a database for server tutorials
- Configure access permissions
- edit config.yml
- restart server
- watch log for error [Server Tutorial Plus] Error while performing an SQL query! Specified key was too long; max key length is 767 bytes
Work-around:
The error is produced when Server Tutorials Plus attempts to create the Tutorial_Players table.
I looked at the source code and hand-crafted this query and input it manually to mariadb.
CREATE TABLE Tutorial_Players
( uui
VARCHAR(64) NOT NULL, tutorial
VARCHAR(255), KEY PRIMARY KEY
(uui
,tutorial
) USING BTREE );
After creating the table manually, server tutorials plus is seemingly able to use it.
That's very odd. This only occurs when creating the table on startup?
Will try to debug this when I find some time.
Edit: Full stacktrace would be appiciated :)
Log with stack trace
https://pastebin.com/r90tzJ90
Notes:
Connecting as 'root' user to MariaDB
MariaDB is on a different system
All other SQL supporting plugins on the Minecraft server are using the same MariaDB and credentials with their own databases. None of the others had issues creating tables
git-Paper-279 (MC: 1.16.4) (Implementing API version 1.16.4-R0.1-SNAPSHOT)
Plugins (23): AsyncWorldEdit, Autorank, BanFromClaim, DynamicShop, dynmap*, Dynmap-GriefPrevention*, Essentials, EssentialsChat, EssentialsGeoIP, GPAccruals*, GPTeleport, GriefPrevention, GriefPreventionFlags, GriefPreventionUtilities, HolographicDisplays, LuckPerms, mcMMO, RealEstate, ServerTutorialPlus*, ShopChest, Statz, Vault, WorldEdit