GNU/Linux

Debian-based

Debian

sudo apt-get install git cmake make gcc g++ clang libmysqlclient-dev libssl1.0-dev libbz2-dev libreadline-dev libncurses-dev mysql-server libace-6.* libace-dev

Debian 9

sudo apt-get install git cmake make gcc g++ clang default-libmysqlclient-dev libssl1.0-dev libbz2-dev libreadline-dev libncurses-dev mysql-server libace-6.* libace-dev

Ubuntu

sudo apt-get install git cmake make gcc g++ clang libmysqlclient-dev libssl-dev libbz2-dev libreadline-dev libncurses-dev mysql-server libace-6.* libace-dev

To configure MySQL in Ubuntu 18.04 and similar (set root password and other settings) read this guide.

Note: on latest versions of Ubuntu the default mysql version is 5.7. If you’re using this version, read this.

Mac OS X

Install XCode using the App Store, then open the terminal and type:

xcode-select --install

For those who don’t have Homebrew installed, you can easily install it typing:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Then use it to install the required packages:

brew update

brew install openssl readline cmake ace coreutils bash bash-completion md5sha1sum mysql56

brew link mysql56 --force

Windows

  • Install Visual Studio >= 15 ( 2017 Desktop Community ) Microsoft downloads

  • Install CMake version >= 2.8

  • Install latest version of Git Extensions

  • MySQL Server Community Edition ( 5.6 or higher )

  • MySQL Development File

    These files are shipped with MySQL Server but to make it easier we packed the libs and include files for both 32 bits and 64 bits.

    Extract the files to a known location, e.g, C:\MySQL, directory structure must be following: C:\MySQL\include and C:\MySQL\lib\debug (Move libmysql.dll and libmysql.lib there)

  • Install OpenSSL version 1.0.x (Do not install the Light version)

    Download the 64bit version. Or you can get both if you plan to compile both 32 and 64bit, they can coexist side by side.

  1. Find the 64bit version by finding the latest  Win64 OpenSSL that is NOT the “light” version.
    1. Example: Win64 OpenSSL v1.0.1p
  2. Find the 32bit version by finding the latest  Win32 OpenSSL that is NOT the “light” version.
    1. Example: Win32 OpenSSL v1.0.1p
  3. Note #1: If you get a “Missing Microsoft Visual C++ 2008 Redistributables” error message while installing OpenSSL, download the  Microsoft Visual C++ 2008 Redistributable Package (x64)  (1.7MB Installer) and install it. If you need 32bit support, download and install the  Microsoft Visual C++ 2008 Redistributable Package (x86) .
  4. Note #2: While installing OpenSSL, choose The OpenSSL binaries (/bin) directory (NOT “The Windows system directory”) when given the choice on where to copy the OpenSSL DLLs. These DLLs will need to be located easily for Core Installation.

MYSQL 5.7

AzerothCore does not officially support MySQL version >= 5.7, but there is a way to get it up and running.

You have to remove NO_ZERO_IN_DATE and NO_ZERO_DATE flags from MySQL’s sql_mode variable in the MySQL config file so that all queries updates and core statements can be applied correctly.

You will find some useful information on StackOverflow about How to use AzerothCore with MySQL 5.7