Не удается подключиться к удаленному MySQL с PHP - PullRequest
2 голосов
/ 29 марта 2011

У меня есть база данных, запущенная на сервере, который обновляет моя настольная программа. Моя программа написана на C #, и я могу нормально подключиться с помощью Mysql Connector.

private void Initialize()
    {
        server = "xxx.com";
        database = "test01";
        uid = "user";
        password = "pass";
        string connectionString;
        connectionString = "SERVER=" + server + ";" + "DATABASE=" +
        database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";";

        connection = new MySqlConnection(connectionString);
    }

Я хочу иметь возможность извлекать некоторые данные из моей базы данных с помощью сценария PHP на моем веб-сайте, но я не могу получить даже простое соединение для работы с моей базой данных с той же информацией о соединении. Я не очень знаком с php и надеюсь, что просто делаю глупую ошибку:)

$con = mysql_connect("xxx.com","user","pass");
if (!$con)
{
  die('Could not connect: ' . mysql_error());
}

Это просто умирает ... Может кто-нибудь сказать мне, что я делаю что-то глупое, и подсказать, как это исправить?

Заранее спасибо, LordJesus

EDIT: Ошибка, которую я продолжаю получать, такова: Не удалось подключиться: потеря соединения с сервером MySQL при «чтении исходного пакета связи», системная ошибка: 110

РЕДАКТИРОВАНИЕ № 2: Моему «пользователю» уже предоставлен доступ к «%», который должен охватывать все IP-адреса. Когда я запускаю phpinfo (); Я получаю много информации, в том числе раздел MySQL с информацией там.

РЕШЕНО ... ИЛИ НЕ РЕШЕНО? Хорошо, я думаю, что знаю, почему это не удается. Мой веб-сайт размещен на one.com, и, общаясь с одним из его сторонников, я узнал, что они не позволяют подключаться к удаленным базам данных, только к тому, что находится на моем домене. Что не то, что я хочу. Так что я не решил, но я узнал, почему я получил эту ошибку. Теперь мне нужно найти способ обойти это ...

1 Ответ

2 голосов
/ 29 марта 2011

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

Следующее предоставит право выбора вашему веб-серверу.

GRANT SELECT ON test01.* TO 'user'@'ip.of.the.webserver' IDENTIFIED BY 'pass';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...