Jump to content
TrinityCore

TrinityCore and MySQL version >= 5.6


Machiavelli
 Share

Recommended Posts

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  :rolleyes:)

If you're unsure how to do this please consult the MySQL documentation on http://search.oracle.com/search/search?q=sql+mode&group=MySQL

  • Upvote 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 2 months later...

hi,

 

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

Link to comment
Share on other sites

  • 7 months later...

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.

Edited by Nikno
Link to comment
Share on other sites

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...