Ho appena visto il tuo codice! La variabile con il nome utente è $database_username ma stai usando $db_username.. Cambia il tuo codice in:
$db_server = mysql_connect($db_hostname, $database_username, $db_password);
oppure potresti cambiare la riga con username con:$db_username='[your mysql user]';//o il nome utente che hai creato
Quando non passi nulla sarà l'utente che mysql assume ma non otterrà la password quindi se non avessi definito $db_password direbbe:(usando password:NO)
hai impostato $database_username con il tuo utente ma stai passando $db_username che non è impostato quindi l'utente è il nome utente linux come predefinito quando non viene passato nulla con la password per l'utente mysql! Dal momento che non esiste un utente mysql con quella password o privilegi o anche con quel nome, non ti viene concesso l'accesso!
Quell'utente è www-data che è come hai intuito un utente apache assegnato alle richieste lato client!