Might be worth looking into PostgreSQL as well. It's just as readily containerized (docker) as well as being more ANSI compliant and consistent. I only say this because nearly every time I've ever used MySQL, I find annoyances.
Such as the fact that 'utf8' isn't 'utf8', 'utf8mb4' is... the feature was in testing as utf8 was being standardized and mysql used 'utf8mb3', and never updated the reference for 'utf8' for compatibility, even across major versions.
There's also the fact that collation on indexes for binary fields are case-insensitive if your default collation is, even if it's "binary".
Also, PostgreSQL has nicer support, imo, for JSON (JSONB) data, as well as a rich extension ecosystem.
PostgreSQL, however, is one hell of a PITA to upgrade. Keeping a cluster of MySQL machines alive is way easier than PostgreSQL, not to mention how easy it is to shoot yourself in the foot with its authentication mechanisms.
> Also, PostgreSQL has nicer support, imo, for JSON (JSONB) data, as well as a rich extension ecosystem.
MySQL's JSON data type, which exists since 5.7, which is quite old, is a solutely comparable to PostgreSQL's JSONB. (But don't be confused by MariaDB, which is a MySQL fork, where JSON is an alias to MEDIUMTEXT or something like that with little snytax validation)
PosgreSQL has its share of annoyances, like case preserving case insensitivity and inconsistent naming of its tools/config files.
Nothing like trying to do a select on a table/column that you know is there and getting an error...becuase the table/column was created with quotes by your ORM so it doesn't automagically get case in-sensitized.
Such as the fact that 'utf8' isn't 'utf8', 'utf8mb4' is... the feature was in testing as utf8 was being standardized and mysql used 'utf8mb3', and never updated the reference for 'utf8' for compatibility, even across major versions.
There's also the fact that collation on indexes for binary fields are case-insensitive if your default collation is, even if it's "binary".
Also, PostgreSQL has nicer support, imo, for JSON (JSONB) data, as well as a rich extension ecosystem.