Я работаю над примерами из книги по разработке php / mysql.
Я работаю в среде Linux / Apache.
Я настроил базу данных и пользователя. Я пытаюсь соединиться с этой строкой кода:
$db_server = mysql_connect($db_hostname, $db_username, $db_password);
Я получаю эту ошибку:
Предупреждение: mysql_connect ()
[function.mysql-connect]: доступ
пользователю "www-data" @ 'localhost' отказано
(используя пароль: ДА) в
/var/www/hosts/dj/connect.php на линии
3 невозможно подключиться к базе данных:
пользователю отказано в доступе
'www-data' @ 'localhost' (используя
пароль: ДА)
Я могу только догадываться, что здесь происходит:
Я думаю, что www-data - это имя пользователя apache. При подключении к базе данных учетные данные, передаваемые в mysql, принадлежат не моему пользователю базы данных, а учетным данным apache. Это то, что здесь происходит?
Как передать учетные данные, которые я определил для моего пользователя?
редактировать:
Кстати, у меня есть учетные данные в переменных $ db_hostname, $ db_username, $ db_password.
они передаются другим файлом с использованием require_once. Если этот файл не может быть найден, я получаю сообщение об ошибке. Итак, я знаю, что мое имя пользователя и пароль используются моим сценарием.
Оба моих сценария можно увидеть здесь:
http://pastebin.com/MUneLEib
#
Решено:
Спасибо, ребята.
Некоторые из вас отметили, что я закодировал небрежно.
Также меня особенно порадовал ответ Нео: он рассказал мне, почему используется имя пользователя владельца процесса apache.
:)