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 :
sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL
the above will work fine with mysql 5.6 / mariaDB 10 and TC.
the strictest setting for this :
sql_mode = STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ONLY_FULL_GROUP_BY
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.
October 29, 2013, 8:12pm
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
"sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL "
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
example = MySQL ver 5.5.33 x32 “STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”
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
June 25, 2014, 8:47am
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
July 1, 2014, 1:40pm