Intereting Posts
Как я могу рекурсивно получить «родительский идентификатор» строк в этой таблице MySQL? приглашать друзей в диалог в приложении Facebook Drupal: поле печати без разметки как вставить переменную? из формы в ссылку file_get_contents Предупреждение: array_merge (): Аргумент # 1 не является массивом при обработке двух $ _POST mysql не учитывает повторяющиеся строки Laravel migrations / db: семя супер медленное Какой langauge следует использовать для искусственного интеллекта в веб-проектах Длительный сценарий PHP останавливается при вызове через exec (), но заканчивается при вызове через CLI Как я могу определить, какая версия CakePHP – это проект? Как вы вставляете несколько записей в таблицу одновременно? Есть ли лучший способ обрабатывать 300 000 строк текстовых файлов и вставлять их в MySQL? Не удается установить mongo-php-драйвер на OS X 10.11 Чтение CSV-файла в php PHP file_get_contents очень медленный при использовании полного URL-адреса

доступ к удаленной базе данных php

Помогите!

У меня есть PHP (PHP 5.2.5) скрипт на HOST1, пытающийся подключиться к базе данных MySQL2 HOST2. Оба хоста находятся в средах общего хоста, контролируемых через CPanel.

HOST2 настроен на разрешение удаленных подключений к базе данных из HOST1.

Я использую PHP-соединение: – $ h2 = IPADDRESS; $ dbu = DBUSER; $ dbp = DBPASS;

$DBlink = mysql_connect($h2, $dbu, $dbp); 

Это всегда терпит неудачу: –

 Access denied for user '<dbusername>'@'***SOMESTRING***' (using password: YES) 

nb: SOMESTRING выглядит так, как будто это может быть связано с общей средой хоста.

Есть идеи???

BTW: Я могу сделать удаленные подключения к HOST2 с моего ноутбука с помощью OpenOffice через ODBC и SQLyog. Параметры SQLyog и ODBC точно такие же, как пытается использовать PHP-скрипт.

Solutions Collecting From Web of "доступ к удаленной базе данных php"

somestring, вероятно, обратный поиск для вашего веб-сервера.

Можете ли вы изменить привилегии из вашей cPanel? Вы сделали что-нибудь, чтобы разрешить доступ с вашей рабочей станции (ODBC)?

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

Если вам разрешено предоставлять привилегии для вашей базы данных, вызывая:

GRANT SELECT ON. * К username@ip.address.of.host1 ИДЕНТИФИЦИРОВАН ПО «password»

может работать для вас. Я только что написал это из головы, вам может потребоваться удвоить синтаксис в mysql-docs.

  • Прочитали ли вы документацию MySQL о причинах отказа в доступе ?

  • Вы связались с поддержкой вашего хостинг-провайдера? Они должны иметь доступ к устранению неполадок подключения к базе данных. Люди в Интернете не имеют доступа.

  • Вам нужно указать имя базы данных? У вашей учетной записи может быть доступ для подключения только к конкретной базе данных. Функция mysql_connect() не позволяет вам указать базу данных, но new mysqli() функция new mysqli() . Я не уверен, что это актуально – это может позволить вам подключиться, но дать вам ошибки при попытке запросить таблицы, отсутствующие в вашей базе данных.

  • Вы уверены, что используете правильный пароль? MySQL позволяет каждой учетной записи иметь другой пароль для каждого клиентского хоста. По общему признанию, это не общая конфигурация, но это возможно. Ваш хостинг-провайдер должен быть в состоянии сказать вам.

Просто некоторые идеи:

  • HOST1 не имеет удаленного доступа к HOST2 (общий хост запрещает)
  • У учетной записи MySQL нет доступа из HOST1 (IP-адрес, указанный при создании учетной записи или подстановочный знак)

Редактировать:

В ответ на ваш комментарий я имел в виду, что HOST1 не может добраться до порта MySQL на HOST2. Разумеется, веб-службы будут работать, потому что порт 80 открыт для публики. Как заметил другой пользователь, вы получаете ответ, так что вы достигаете его. Я бы попробовал указать БД и дважды проверить, что вы создали.

Для второй части я имел в виду это: http://dev.mysql.com/doc/refman/5.0/en/adding-users.html

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

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

Либо у пользователя вообще нет доступа, либо у него есть доступ локально, но не от хоста, из которого вы подключаетесь.

Вы должны попытаться использовать имя хоста и порт, например $ h2 = IPADDRESS: 3307;