본문 바로가기

[Cyg-win] Mysql 설치

출처블로그 : 작쌀나는 신


먼저 http://www.mysql.com 에서 mysql 소스를 다운받는다. binary가 아닌 아닌 source를 다운받도록한다. 다운로드 페이지의 하단부에서 받을 수 있다. 모두 다운 받으면 다음과 같은 명령어로 압축을 해제하자. 참고로 이 글을 쓰는 현재 mysql 4 배포판의 최신버전은 4.0.20 이다.


tar xvfz *.tar


압축을 모두 풀었으면 풀린 디렉토리로 이동한다.

그다음 컴파일 환경에 맞게 Makefile 을 생성하기 위해 ./configure 쉘을 실행하자.


사용자 삽입 이미지


이제 make 를 실행해서 소스를 컴파일 하도록한다. 하지만 컴파일 단계에서 오류가 나므로 다음과 같이 수정한다.


mysys/my_thr_init.c 파일을 열어서 마지막에 다음 코드를 추가한다.

int pthread_mutexattr_setkind_np (pthread_mutexattr_t * attr, int kind)
{
  return pthread_mutexattr_settype (attr, kind);
}


include/my_pthread.h 파일을 열어서 마지막에 다음 코드를 추가한다.

#define        PTHREAD_MUTEX_FAST_NP                   PTHREAD_MUTEX_NORMAL
#define        PTHREAD_MUTEX_RECURSIVE_NP              PTHREAD_MUTEX_RECURSIVE
#define        PTHREAD_MUTEX_ERRORCHECK_NP             PTHREAD_MUTEX_ERRORCHECK
#define        PTHREAD_MUTEX_TIMED_NP                  PTHREAD_MUTEX_NORMAL
#define        PTHREAD_MUTEX_ADAPTIVE_NP               PTHREAD_MUTEX_NORMAL


다음으로 귀찮은 작업인 헤더파일 수정?남아 있다. 헤더파일을 검사하여 #pragma interface 라고 되어 있는 곳을 모두 없애자. #if __GNU_C__ 라는 부분을 #if __GNU_C_OFF__ 와 같이 고쳐서

먹히지 않게 하는 벙법도 좋다. 다음은 고쳐야할 헤더파일 목록이다.

다시 한번 말하지만 현재 수정하는 버전은 mysql 4.0.20 이다.


libmysqld/examples 디렉토리

sql_string.h


sql 디렉토리

field.h handler.h hash_filo.h ha_berkeley.h ha_heap.h ha_innodb.h ha_isam.h ha_isammrg.h ha_myisam.h ha_myisammrg.h item.h item_cmpfunc.h item_func.h item_strfunc.h item_sum.h item_timefunc.h item_uniq.h log_event.h opt_ft.h opt_range.h procedure.h set_var.h sql_analyse.h sql_class.h sql_crypt.h sql_list.h sql_map.h sql_select.h sql_string.h


이제 make 를 해보자. 10여분 이상 걸릴 것이다. 오옷... 드디어 mysql 컴파일을 끝내었다.

사용자 삽입 이미지

make install 을 해서 make 가 끝난 실행파일을 설치한다.


이제 mysql 데몬을 띄워보자.  /usr/local/bin/mysqld-safe 를 실행한다.

/usr/local/bin/mysqld_safe

/usr/local/bin/mysql -u root 로 접속을 해보자.

사용자 삽입 이미지

cygwin 에서 mysql 이 잘 돌아가는 것을 확인해볼 수 있다.