You should be creating a user in mysql for running the server, not using the root account.
I'm assuming your mysql server is on the same machine as the emu.
1) log in to mysql:
mysql -uroot -p
enter your password when prompted
2) I always create the databases first, but i believe that the worldserver and authserver will create them if they don't exist. To do this, from the mysql prompt run:
create database world;
create database auth;
create database characters;
3) from the mysql prompt run the following to create the user and authorize them to have access to the databases.
create user 'trinity'@'localhost' identified by 'trinity';
grant all on auth.* to 'trinity'@'localhost' identified by 'trinity';
grant all on characters.* to 'trinity'@'localhost' identified by 'trinity';
grant all on world.* to 'trinity'@'localhost' identified by trinity;
quit
4) now, edit your worldserver.conf and authserver.conf so that the connection strings are like the following: (should be in the /etc folder)
LoginDatabaseInfo is in both authserver.conf and worldserver.conf. WorldDatabaseInfo and CharacterDatabaseInfo are in worldserver.conf only
LoginDatabaseInfo = "127.0.0.1;3306;trinity;trinity;auth"
WorldDatabaseInfo = "127.0.0.1;3306;trinity;trinity;world"
CharacterDatabaseInfo = "127.0.0.1;3306;trinity;trinity;characters"
then try running worldserver again.