Я использую PHP MySQLi для подключения к MySQL и иногда выполняя запрос, я получаю ошибку:
Код ошибки "Permission denied": 2002.
Странно то, что это происходит для разных запросов и совершенно непредсказуемо. Например, это может произойти при третьем запросе после того, как первые два будут выполнены правильно.
Я знаю, что это не проблема с MySQL, потому что я переместил его с одного сервера на другой, и проблема все еще сохраняется. Скорее всего, проблема с PHP или взаимосвязь между серверами PHP и MySQL (они находятся на разных машинах)
Кто-нибудь получил идеи?
РЕДАКТИРОВАТЬ:
запрос, который получает «Permission denied», работает, если я перезапускаю скрипт – проблема с не разрешенными
ОШИБКА:
[23-апр-2011 19:00:02] PHP Предупреждение: mysqli :: mysqli () [mysqli.mysqli]: [2002] Permission denied (попытка подключения через tcp: //xxx.xxx.xxx.xxx: 3306 ) в /home/…/DB.php в строке 19
[23-апр-2011 19:00:02] PHP Предупреждение: mysqli :: mysqli () [mysqli.mysqli]: (HY000 / 2002): разрешение отклонено в /home/…/DB.php в строке 19
То же самое происходило в моей среде. И причина была SELinux.
Возможно, вы сможете подключить базу данных, выполнив php из командной строки, пока вы не можете выполнить ее на веб-сервере.
В моем случае я отключил SELinux.
# setenforce 0
Или вы должны правильно настроить SELinux.
Я думаю, что пользователь базы данных не имеет достаточного разрешения для конкретной работы в конкретной таблице mysql.
Это не ошибка разрешений. Клиент не может получить доступ к базе данных, не говоря уже о попытке аутентификации пользователя.
Я подозреваю, что эти проблемы будут вызваны либо сетевыми проблемами (не позволяя машинам клиент / сервер разговаривать друг с другом), либо серверный процесс MySQL не работает на удаленном хосте.
Код ошибки описан здесь: http://dev.mysql.com/doc/refman/5.5/en/can-not-connect-to-server.html
Проверьте разрешения для пользователя, с которым вы подключены через