Току-що погледнах вашия код! Променливата с потребителското име е $database_username, но вие използвате $db_username.. Променете кода си на:
$db_server = mysql_connect($db_hostname, $database_username, $db_password);
или можете да промените реда с потребителското име с:$db_username='[вашият потребител на mysql]';//или създаденото от вас потребителско име
Когато не подадете нищо, това ще бъде потребителят, който mysql приема, но няма да получи паролата, така че ако не сте дефинирали $db_password, ще каже:(с помощта на парола:НЕ)
задавате $database_username с вашия потребител, но предавате $db_username, което не е зададено, така че потребителят е потребителското име за linux по подразбиране, когато нищо не се предава с паролата за потребителя на mysql! Тъй като няма потребител на mysql с тази парола или привилегии или дори с това име, не ви се дава достъп!
Този потребител е www-data, който, както предположихте, е потребител на apache, назначен за заявки от страна на клиента!