programing

Mariadbc 커넥터 mysql_real_connect 실패 오류(2002) [HY000] "소켓 '/tmp/mysql'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말' (2)"

subpage 2023. 8. 7. 22:34
반응형

Mariadbc 커넥터 mysql_real_connect 실패 오류(2002) [HY000] "소켓 '/tmp/mysql'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말' (2)"

mysql_real_connect 함수에 포트를 지정하고 unix 소켓 이름을 NULL로 지정했지만 unix sock default /tmp/mysql.sock을 통해 연결을 시도하고 있다는 오류 메시지가 나타납니다.

void show_error(MYSQL *mysql)
{
  printf("Error(%d) [%s] \"%s\"", mysql_errno(mysql),
         mysql_sqlstate(mysql),
         mysql_error(mysql));
  mysql_close(mysql);
  exit(-1);
}


int main(int argc, char *argv[])
{
  MYSQL *mysql;
  const char *query;
  MYSQL_RES *result;

  mysql= mysql_init(NULL);
  if (!mysql_real_connect(mysql, "localhost", "user", "user_pw",
                          "schema_test", 3306, NULL, 0))
    show_error(mysql);

오류 가져오기: 오류(2002) [HY000] "소켓 '/tmp/mysql'을 통해 로컬 MySQL 서버에 연결할 수 없습니다.양말' (2)"

호스트를 "localhost"로 사용하면 mysql_real_connect가 포트를 무시하고 대신 unix sock default /tmp/mysql.sock을 사용하여 연결을 시도합니다. 여기서

따라서 로컬 시스템에서 포트를 사용하여 연결해야 하는 경우 호스트 매개 변수의 127.0.0.1을 mysql_real_connect 함수로 전달할 수 있습니다.

언급URL : https://stackoverflow.com/questions/62297529/mariadb-c-connector-mysql-real-connect-fails-error2002-hy000-cant-connect

반응형