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 сможет ожидать удаленного подключения.
Есть много причин для сбоя доступа, посмотрите на ссылку ниже, она предоставляет некоторый механизм отладки: