Acabei de ver seu código! A variável com o nome de usuário é $database_username mas você está usando $db_username.. Altere seu código para:
$db_server = mysql_connect($db_hostname, $database_username, $db_password);
ou você pode alterar a linha com nome de usuário com:$db_username='[seu usuário mysql]';//ou o nome de usuário que você criou
Quando você não passa nada, será o usuário que o mysql assume, mas não obterá a senha, portanto, se você não tivesse definido $ db_password, diria:(usando senha:NÃO)
você define $database_username com seu usuário, mas está passando $db_username que não está definido, então o usuário é o nome de usuário linux como padrão quando nada é passado com a senha para o usuário mysql! Como não há usuário mysql com essa senha ou privilégios ou mesmo com esse nome, você não tem acesso!
Esse usuário é www-data, que é como você adivinhou um usuário do apache atribuído a solicitações do lado do cliente!