MySQL, Connector для C- Соединяется с удаленной базой данных

Я использую MySQL Connector (для C), чтобы попытаться соединиться с удаленной базой данных. Однако мой код не может создать экземпляр подключения к удаленной базе данных. Вот код

    MYSQL *conn;
    MYSQL_RES *res;
    MYSQL_ROW row;
    char *server = "192.168.1.114";
    char *user = "root";
    char *password = "PASSWORD_STUB"; /* set me first */
    char *database = "tmp";
    conn = mysql_init(NULL);
    /* Connect to database */
    if (!mysql_real_connect(conn, server,
                            user, password, database, 3306, NULL, 0)) {
       printf("ERROR CODE %u: %s", mysql_errno(conn),mysql_error(conn) );

    }else{
       printf("Connected..");
    }

Выход из ошибки

ERROR CODE 1045: Access denied for user 'root'@'192.168.1.100' (using password: YES)

Я пытаюсь правильно подключиться к серверу? IP в коде ошибки - это IP моей машины, а не IP удаленного хоста.

1 ответ

Это стандартная часть блокировки базы данных, чтобы не разрешить удаленный доступ root.

Из командной строки попробуйте "mysql -u root -p -h 192.168.1.114"

Если это не помогло, попробуйте использовать другого пользователя, кроме root.

Вы должны получить удаленный доступ к командной строке, прежде чем C сможет ожидать удаленного подключения.

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

http://dev.mysql.com/doc/refman/5.1/en/access-denied.html

Другие вопросы по тегам