Before proceeding please make sure that you have compiled your sources and they are up-to-date - HERE

Installing Trinity Database (TDB)

About once per month all of the updates made from all previous months are combined into a few bulk .sql files to easily import them into your databases. These updates are similar to how Service Packs are released for Windows. Furthermore, smaller, individual .sql updates are occasionally added as the core is fixed by the developers (these can be seen in Git Extensions while selecting individual commits in the commit view with the Diff tab selected). This offers two options:

  1. (Beginner) It is highly recommended to keep your current revision (the commit in bold text in Git Extensions) on a commit with a description similar to "DB: TrinityDB revision XX: move SQL updates to the old directory" (example). These commit descriptions mark each monthly compilation, and are also useful for knowing when a new compilation is released and can be downloaded/imported. Doing this will keep your databases 100% up-to-date each month.

  2. (Advanced) If you decide to update your revision outside of a commit with the above description, you must also import all of the smaller .sql updates (C:\Trinity\sql\updates folder) that have been done with EACH commit up to yours, if there are any. Not importing these additional updates cause a majority of user errors. This will ensure that your databases are 100% up-to-date.

This is described in more detail in the following instructions.

Downloading the Database

Download the latest database compilation from TrinityCore Downloads.

The Download Packages at the top are the ones you want. Find the package with the latest date and download it.

  1. For example, a file such as TDB_full_335.54_2014_07_05.7z tells us three things:
    • TDB: Trinity Database
    • 335.54: The version of the database and the client it belongs to. 335 = WoW version 3.3.5, 54 = the 54th full revision.
    • 2014_07_05: The date - July 05th, 2014

The file is in .7z format, so you will need an archive program like 7zip to unpack it.


Important

Icon

Note: There are multiple .sql files to choose from in the .7z archive. If this is your first time installing TrinityCore, you will want to import ONLY the file with "TDB_full" at the beginning. 
The other files are for updating existing world and characters databases from a previous compilation. This makes it easy to update your databases from one compilation to the next as explained in the section above.  

NEVER apply the sql files in the sql\old directory, as those files are only needed for people updating core between TDB releases.


NEVER EVER (LIKE, EVER) ENABLE CONTINUE ON ERROR ON YOUR SQL CLIENT.

Installing The Trinity Databases

Trinity needs 3 databases to run - AuthCharacters, and World:

auth - holds account data - usernames, passwords, GM access, realm information, etc.

characters - holds character data - created characters, inventory, bank items, auction house, tickets, etc.

world - holds game-experience content such as NPCs, quests, objects, etc.

(if you are running 6.x - hotfixes as well)

The following steps are done using the database management program you installed in Step #5 of Software Required (ex. HeidiSQL or SQLYog):

  • In HeidiSQL, click on the database you want to use in order to "select" it, then click Tools > Load SQL File... > (select the file) > Run file(s) directly.
  • In SQLYog, click on the database you want to use in order to "select" it, then click Database > Import > Execute SQL Script.
  • On mysql cli you must use mysql --default-character-set=utf8 to avoid import failures
    • WE STRONGLY RECOMMEND TO USE THIS METHOD over the SQLYog or HeidiSQL, it is by far the fastest method to import TDB and it's needed updates.

 

  1. Create the three databases by importing ...\sql\create\create_mysql.sql. You now have three databases - auth, characters, and world. You may need to refresh your program in order to see the new databases.
  2. Click on the "auth" database and import the auth database structure by importing ...\sql\base\auth_database.sql.
  3. Click on the "characters" database and import the characters database structure by importing ...\sql\base\character_database.sql.
  4. Click on the "world" database and import the world database structure by extracting and importing the "TDB_full_*.sql" file you downloaded from the Database download section.
  5. Click on the "world" database and import any *.sql file available in your ...\sql\updates\world folder.
  6. NOTICE WE NEVER IMPORT sql\updates\auth or sql\updates\character files on fresh installation.
  7. NEVER ENABLE CONTINUE ON ERROR ON YOUR SQL CLIENT

Important

Icon

IF THIS IS YOUR FIRST TIME INSTALLING TrinityCore DON'T apply any *.sql file on sql\updates\auth or sql\updates\characters. Continue with SETTING UP THE SERVER. NOTICE YOU STILL NEED TO APPLY sql\updates\world files.

Keeping the DB up to date

Both core and DB fixes will be committed to the TrinityCore repository, which you may also view in Git Extensions by following the "Fetch" instructions in Keeping the Source Up-to-Date. Pending fixes can be found on our tracker with data from the developers and contributors.

As mentioned earlier, it is recommended to stay on the same revision as the TDB_full database (Beginner).

If you choose to brave the wilds beyond the current monthly revision, use the (Advanced) instructions below.

Note: You can run the following query on the World database to see your current DB and core revision:

SELECT * FROM `version`;

This assumes that you have already completed the (Beginner) Keeping the Source Up-to-Date, which means you now have a newly downloaded revision archive.

This instruction also assumes that you have completed the initial Downloading the Database which had you import the TDB_FULL.sql, and it is now approximately one month later - a new revision has been released.

Note: If you have made any custom changes to your database, you may wish to backup (export) all three of them (world, characters, and auth) before performing the next few steps.

  • Beginners
    • Extract the TDB_FULL.sql file from the archive and import it into your world database.
    • If they exist, also import the characters_ and auth_ .sql files into their respective databases.
    • Once this is finished and you have already compiled your source, you may run the worldserver binary to load your server. The revision update is complete.

Note: It is at this point that most user errors occur. If your worldserver.exe closes abruptly, make sure that your core's version matches your database version. Check that the `version` table in your world database matches the commit hash listed beside the archive you downloaded at TrinityCore Downloads.

  • Advanced Users

If you update your source beyond a monthly revision, you will likely have additional updates in the ...\sql\updates folder. The folders within show which database they need to be imported to. For example, the "world" folder has all of the files that need to be imported to your world DB.

File naming conventions follow simple and consistent rules:

yyyy_mm_dd_id_world_tablename.sql -> World DB
yyyy_mm_dd_id_character_tablename.sql -> Characters DB
yyyy_mm_dd_id_auth_tablename.sql -> Auth DB

"yyyy" = the year | "mm" = month | "dd" = day | "id" = daily id (incremental)

Note: The incremental daily id starts at 00, with 00 needing to be imported first, then 01, then 02, etc.

It is imperative to know the date of your previous revision when updating in order to import all of the updates from that revision to your current one.

Then, simply follow these steps:

  • Browse into your ...\sql\updates\world folder and import all*_world_*.sql files into your world DB that have a date later than your previous revision.
  • Do the same above step for the characters and auth folders, if they exist. If these folders don't exist, there have not been any characters or auth database updates.

 

Icon

Note: If you are comfortable with executing batch files, you are welcome to use the batch file below to make the importing process easier. Also note that doing this will also gather up .sql files you may have already imported. In most cases this is safe, but you should use this batch file at your own risk. Take a look on the Combine SQL Updates thread in the TrinityCore forum for a more detailed batch script and informations.

If you don't change the batch script, it must be saved and executed in your ...\sql\updates folder.

Merges all *.sql files in auth/characters/world folder.
copy /b world\*.sql /b all_world_updates.sql

If you still have problems, read http://www.trinitycore.org/f/topic/328-unknown-column-missing-table-duplicate-column-error-sql-problems-sqldriverlogfile-answer-on-1st-post-of-1st-page/

Pro Tip

Icon

If your world database is ever corrupted (ex. creatures or objects are accidentally deleted), it is easy to revert it back to its original state by re-importing the TDB_FULL.sql into your world database. If you updated your core using the (Advanced) instructions, make sure you also re-import all of the necessary C:\Trinity\sql\updates as explained above.

Next - Setting up the Server

 

Comments:

This site needs to be implemented in 

  1. TrinityCore
  2.  TrinityCore Home
  3.  Installation of Trinity Database (3.3.5a)
Posted by fireemerald at Oct 22, 2013 07:54