TrinityCore and MySQL version >= 5.6

While TrinityCore does not officially support MySQL version >= 5.6, there is a way to get it up and running.

You have to remove ONLY_FULL_GROUP_BY flag from MySQL’s sql_mode variable in the MySQL config file so that all queries can be prepared correctly. (Certain queries used in the core are not compliant to this restriction and need to be rewritten in order to work. Hint: pull request /emoticons/default_rolleyes.gif)

If you’re unsure how to do this please consult the MySQL documentation on

sql_mode is the setting that determines how strict mysql is with queries. a sample setting for this :


the above will work fine with mysql 5.6 / mariaDB 10 and TC.

the strictest setting for this :


this will NOT work with TC + mysql 5.6 / MariaDB 10 currently due to what +Machiavelli mentioned above.

Feel free to experiment with the setting to see what works and what doesn’t.


I would like to ask a few questions about this subject , I understand this was written a while ago but I would like to ask anyway

I have run MySQL 5.6.x for a bit running it with TC and noticed no real issues , But and here is the thing if I do the recommendations to change


my server is faster , Well not the server as of such more the way spells/casts e.t.c run in DB.

And I would understand that strict mode my slow the process of procedures handled in the DB due to processing time

but would it not be better to turn "strict mode off " if the DB is Only used for TC ?

As almost every version of MySQL seems to change the way “Strict mode” is commented


but MySQL ver 5.1.9 x32 is “NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION” knowing you do not support this version!

any input would be great

It seems that MySQL changes something in the most recent 5.6 updates.

While Trinity was working fine on 5.6.15, after updating to 5.6.19 I can’t apply auth_database.sql, getting weird errors.

I didn’t change the sql_mode, it’s still “NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES”.

I’ll potter around a bit, hoping that I get it working and that I don’t need to rollback the update.

Edit: The issue actually wasn’t related to the update. It was fixed by this commit.

Ubuntu Server 14.04