mysql configure 옵션 정리

MySQL | 2009. 10. 27. 11:33
Posted by 시반

 MySQL Configure

 

매번 MySQL을 설치할때면 설치관련 블로그들을 검색해보게 되는데 그때마다 조금씩 다른 설정 옵션으로 설치를 하게 된다.

따라하기에는 충분하지만 도대체 어떤 옵션으로 설정을 하고 설치를 하는지... 

configure --help를 하면 알수는 있겠지만 자주쓰는 옵션을 위주로 짧게 정리하고자 한다.

 

예) ./configure

     --prefix=/usr/local/mysql  

     --enable-thread-safe-client

     --with-charset=utf8

     --with-extra-charsets=all

     --without-readline

     --localstatedir=/usr/local/mysql/data

     --enable-assembler

     --sysconfdir=/etc

 

옵션 설명 :

  • --prefix=/usr/local/mysql : 컴파일후 관련된 파일들이 설치되는 디렉토리,기본값 : /usr/local
  • --exec-prefix = EPREFIX : 기본값은 --prefix에서 지정한 값과 동일.
  • --bin-dir = DIR : 클라이언트 실핼파일과 스크립들이 저장되는 디렉토리, 기본값은 PREFIX/bin
  • --libexec=DIR : mysql 데몬, 기본값은 PREFIX/libexec
  • --localstatedir=/usr/local/mysql/data : 사용자의 데이터와 로그파일를 저장할 디렉토리 지정, 기본값은 PREFIX/var
  • --with-charset=utf8 : utf8charset 지정. utf-8로 하면 에러.
  • --with-extra-charsets=all : 추가 charset 지정, none,complex,all 또는 charset 리스트
  • --with-unix-socket-path=/tmp/mysql.sock : 소켓디렉토리 , 기본값은 /tmp 또는 /var/run
  • --with-tcp-port=3306 : 포트 지정. 기본값은 3306
  • --with-mysqld-user=mysql : 데몬실행 계정 지정
  • --with-debug : debug code추가 , 사용안하는 경우 without 옵션으로
  • --without-readline : 콘솔에서 한글 입력가능
  • --enable-thread-safe-client : 쓰레드 지원
  • --without-server : 서버 기능 없이 클라이언트로만 사용하고자 할 때 즉 클라이언트로만 사용할 때
  • --enable-assembler : 어셈블러  함수 지원
  • --with-client-ldflags=-all-static : 클라이언트 실행 파일 생성시 라이브러리를 포함하도록 지정, 정적으로 컴파일
  • --with-mysqld-ldflags=-all-static : 데몬실행파일 생성시 라이브러리를 포함하도록 지정,정적으로 컴파일
  • --sysconfdir=/etc : 설정파일 디렉토리지정
  • --with-mit-threads : 강제로 MIT-pthreads 를 실행하고자 할때

기타   

  • libg++ 이나 libstdc++이 없이 gcc만 사용할때 
         # CC=gcc CXX=gcc ./configure 
  • 'DEFAULT' 필드를 사용하지 않도록 하려면 
         # CXXFLAGS=-DDONT_USE_DEFAULT_FIELDS ./configure 
  • character set설정한 다음 다시 변경하려면 아래와 같은 명령을 준 다음 './configure' 를 다시 실행한다. 
         # make distclean 
 

configure: error: No curses/termcap library found

MySQL | 2009. 10. 27. 10:48
Posted by 시반

 MySQL 설치 에러 : configure: error : No curses/termcap library found

리눅스에서 yum install mysql 을 통해 쉽게 mysql을 설치할 수 있지만 yum을 통해 설치할수 있는 mysql 버젼은 현재 mysql-5.0.77 버젼입니다. 5.1 이상의 mysql (얼마전에 5.3 소식을 들었는데 현재 6.0까지 나와있더군요..-_-)을 설치하고자 하는 경우에는 소스 컴파일을 통한 수동 설치를 진행할 수 밖에 없는 노릇입니다.

일반적으로 소스컴파일을 위해 glibc 라이브러리를 설치한 후에 mysql을 설치를 진행하는데 옵션에 따라 참조하는 라이브러리가 다르기 때문에  간혹 configure 도중 추가적인 라이브러리를 필요로 할 때가 있습니다. 

configure: error: No curses/termcap library found

대표적인 예가 바로 curses 라이브러리와 termcap 라이브러리를 참조하는 경우입니다.

즉 원인은 xterm을 지원하는 termcap라이브러리를 찾을 수 없기 때문인데요...

 

해결방법은 termcap 라이브러리를 설치해야 겠죠...(-_-a

termcap,libtermcap 라이브러리는 libtermcap-devel 패키지에 curses 라이브러리는 ncurses-devel 패키지에 들어 있네요.

 

[root@localhost ~]# yum -y install libtermcap-devel ncurses-devel

 

 

 

 

 

아파치에서 IPv6,IPv4 함께 사용하기

기타 | 2009. 5. 28. 17:48
Posted by 시반

모 업체에서 IPv6와 IPv4를 함께 사용할 수 있는지에 대한 문의가 있었다. 차후 IPv6를 도입할까 하는데 기존IPv4도 함께 사용할 수 있는지에 대한  부분이었는데. 아파치 등 웹서버나 WAS에서 IPv6를 지원한다는 말은 들었는데 동시에 사용할 수 있는지는 잘 몰랐었지만 마침 아파치 레퍼런스 페이지에서 찾아볼수 있어서 올려본다.

아파치를 시작하면 아파치는 컴퓨터의 어떤 포트와 주소에 연결하여, 들어오는 요청을 기다립니다. 기본적으로 아파치는 컴퓨터의 모든 주소에서 기다리게 되지만 아파치가 특정 포트나 선택한 주소만을 기다리게 해야할 경우가 있다. 또 이 문제는 아파치가 어떻게 다른 IP 주소, 호스트명, 포트에 반응할지를 결정하는 가상호스트 기능과도 관련되있다.

Listen 지시어는 서버가 특정 포트나 주소와 포트 조합에서만 요청을 받게 한다. Listen 지시어에 포트 번호만 지정하면, 서버는 모든 인터페이스에서 지정한 포트를 기다린다. 여러 Listen 지시어로 기다릴 여러 주소와 포트를 지정할 수도 있다. 서버는 열거한 주소와 포트로 요청이 들어오면 응답한다.

예를 들어, 서버가 80번과 8000번 포트 모두에서 연결을 받도록 하려면:

Listen 80
Listen 8000

서버가 지정한 두 인터페이스와 포트에서 연결을 기다리도록 하려면,

Listen 192.0.2.1:80
Listen 192.0.2.5:8000

IPv6 주소는 다음과 같이 대괄호로 묶어야 한다:

Listen [2001:db8::a00:20ff:fea7:ccea]:80

 

IPv6에서 특별히 고려할 점

IPv6를 구현한 플래폼이 늘고 있고 APR이 이들 플래폼 대부분에서 IPv6를 지원하기때문에, 아파치는 IPv6 소켓을 할당하여 IPv6로 받은 요청을 처리할 수 있다.

아파치 관리자에게 복잡한 부분은 IPv6 소켓이 IPv4 연결과 IPv6 연결을 모두 처리할 수 있느냐는 점이다. 대부분의 플래폼에서는 IPv4-대응(mapped) IPv6 주소를 사용하여 IPv6 소켓에서 IPv4 연결을 받지만, FreeBSD NetBSD OpenBSD은 시스템전체 정책때문에 기본적으로 허용하지 않는다. 그러나 기본적으로 허용하지않는 시스템이라도 아파치를 위해 특별한 설정 파라미터로 변경할 수 있다.

반면 리눅스와 Tru64 같은 일부 플래폼에서 IPv4 IPv6을 모두 처리하려면 대응 주소를 사용해야만 한다. 아파치가 최소한의 소켓을 사용하여 IPv4 연결과 IPv6 연결을 모두 받도록하려면, IPv4-대응 IPv6 주소를 사용하고 configure 옵션 --enable-v4-mapped를 지정한다.

--enable-v4-mapped FreeBSD, NetBSD, OpenBSD를 제외한 모든 플래폼에서 기본값이고, 아마도 당신의 아파치도 마찬가지일 것이다.

플래폼과 APR의 지원여부와 관계없이 아파치가 IPv4 연결만을 받도록하려면, 다음 예제와 같이 모든 Listen 지시어에 IPv4 주소를 사용한다:

Listen 0.0.0.0:80
Listen 192.0.2.1:80

플래폼에서 지원하며 아파치가 서로 다른 소켓으로 IPv4 연결과 IPv6 연결을 받도록하려면 ( IPv4-대응 주소를 사용하지 않으려면), configure 옵션 --disable-v4-mapped를 지정한다. --disable-v4-mapped FreeBSD, NetBSD, OpenBSD에서 기본값이다.

 

Listen은 가상호스트를 만들지 않는다. 이는 단지 주서버가 어떤 주소와 포트를 기다릴지만 알려준다. <VirtualHost> 지시어를 사용하지 않으면, 서버는 받은 모든 요청을 똑같이 처리한다. 그러나 <VirtualHost>로 여러 주소와 포트에 대해 다른 행동을 지정할 수 있다. 가상호스트를 만들려면 먼저 서버에게 사용할 주소와 포트를 알려줘야 한다. 그리고 특정 주소와 포트에 대한 가상호스트의 행동을 지정할 <VirtualHost> 섹션이 필요하다. 주서버가 기다리지않는 주소와 포트를 사용하는 <VirtualHost>는 접근할 수 없음을 주의하라.

Copyright 2009 The Apache Software Foundation.
Licensed under the
Apache License, Version 2.0.

 

 
블로그 이미지

시반

시반(詩伴)이란 함께 시를 짓는 벗이란 뜻을 가지고 있습니다. 함께 나눌수 있는 그런 공간이길 바라며...

카테고리

분류 전체보기 (233)
개발 이야기 (73)
WEB2.0 (57)
DB2 (24)
MySQL (6)
오라클 (26)
기타 (44)
취미 (0)
잡담 (2)