PHP MySQLi запрос - «Отказано в доступе» - PullRequest
3 голосов
/ 24 апреля 2011

Я использую PHP MySQLi для подключения к MySQL и иногда делаю запрос, я получаю сообщение об ошибке:

Код "Отказано в доступе": 2002.

Странная вещьчто это происходит по разным запросам и совершенно непредсказуемо.Например, это может произойти в третьем запросе после того, как первые два были выполнены правильно.

Я знаю, что это не проблема с MySQL, потому что я переместил его с одного сервера на другой, и проблема все еще сохраняется.Скорее всего, проблема с PHP или взаимосвязью между серверами PHP и MySQL (они на разных компьютерах)

У кого-нибудь есть идеи?

РЕДАКТИРОВАТЬ:запрос, который получает «Отказано в доступе» работает, если я перезапустить скрипт - это не проблема разрешений

ОШИБКА:

[23-Apr-2011 19:00:02] Предупреждение PHP: mysqli :: mysqli () [mysqli.mysqli]: [2002] Отказано в доступе (при попытке подключения через tcp: //xxx.xxx.xxx.xxx:3306) в /home/.../DB.php в строке 19[23-Apr-2011 19:00:02] Предупреждение PHP: mysqli :: mysqli () [mysqli.mysqli]: (HY000 / 2002): Отказано в доступе в /home/.../DB.php в строке 19

Ответы [ 4 ]

14 голосов
/ 05 февраля 2013

То же самое произошло в моей среде. И причиной был SELinux.

Возможно, вы сможете подключиться к базе данных, выполнив php из командной строки в то время как вы не можете выполнить на веб-сервере.

В моем случае я выключил SELinux.

# setenforce 0

Или вы должны правильно настроить SELinux.

0 голосов
/ 24 апреля 2011

Проверьте разрешения для пользователя, к которому вы подключены через

0 голосов
/ 24 апреля 2011

Это не ошибка прав доступа.Клиент не может подключиться к базе данных, не говоря уже о попытке аутентификации пользователя.

Я подозреваю, что эти проблемы будут вызваны любой из проблем сети (не позволяющих компьютерам клиент / сервер)между собой) или процесс сервера MySQL, не запущенный на удаленном хосте.

Код ошибки задокументирован здесь: http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html

0 голосов
/ 24 апреля 2011

Я думаю, что у пользователя базы данных недостаточно прав для выполнения определенной операции над определенной таблицей mysql.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...