Jump to content
TrinityCore
Sign in to follow this  
Machiavelli

TrinityCore and MySQL version >= 5.6

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

Share this post


Link to post
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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...