본문 바로가기

MySQL/Setting

Mysql 설치를 해볼까요 (2부)

에구.. 블로그를 시작한지 몇주가 지나가고 있는데 아직 설치를 하고 있다니...
좀 더딘 기운이 있긴하지만 그래도 간간히 쓰다보니 양해를 부탁드립니다. 쿄호오~~~

사실 설치는 1부에서 이미 끝난거입니다. 속으셨죠? 캬하하...
그럼 2부에서는 무엇을 하느냐 바로바로바로~~ mysql 궁극 스킬인 "환경설정"에 접어 들겠습니다.

앞서 보셨던 글중 mysql 설치에서 환경설정하는부분이있죠? 이부분을 configure 라고 부르도록 하죠 자세히 볼까요 ^^;

우선 아래와 같이 명령어를 치시면 아마 우리의 주적인 엄청난 량의 영어를 보실수있습니다. Linux에서는 보통 이런식으로 옵션값을 조회해볼 수 있으니 이부분도 check하시고 넘어갑니다.

./configure --help


자.. 쭉~ 보시면 아시겠지만 너무나 많은 옵션이 있기때문에 중요한것 몇가지만 살펴보고 가도록 하겠습니다

--with-charset=characterset-Name  :: mysql에서 사용할 기본 문자셋을 지정해줍니다.
--with-collation=collation :: mysql에서 사용할 기본 콜레션을 지정합니다.
--with-extra-charsets=CHARSET,CHARSET,...  :: 디폴트 케릭터셋 이외의 다른 캐릭터셋을 사용할 수 있도록 여러개의 케릭터셋을 지정한다. (옵션 : none, complex, all)
--with-tcp-port=port-number :: port 설정
--whith-mysqld-user=username :: mysql 실행 유저

대게 이정도의 세팅으로 초기환경을 구축합니다. 이외에도 make나 make install 과정에서 적용되는 여러가지 옵션도 존재합니다만, 사용빈도가 거의 없으므로 생략하도록 하겠습니다.

환경설정 파일에 대해서 언급해 볼까합니다.

우선 기본 환경설정파일은 앞서 말씀드린 것처럼 /shere Dir 아래 위치하고 있으며 각 system의 메모리에 따라 아래와 같이 구분되지요 ^^;

my-small.cnf - 64M
my-medium.cnf - 128-256M
my-large.cnf - 512M
my-huge.cnf - 1~2G
 
자 그럼 이 파일을 /etc/my.cnf 로 이동시켜줍니다. 그러면 mysql 데몬이 처음 구동될때 이 환경 값을 읽어와서 반영할꺼에요 ^^;

열어보시면 아시겠지만 다 영업니다. ㅋㅋ 머 그렇다고 어려운거 하나 없으니 찬찬히 뜯어보도록 할까요 ^^;

[client]

port           = 3306   ::  사용할 port 번호를 적어줍니다.
socket         = /tmp/mysql.sock :: 소켓위치를 적어줍니다.
 
[mysqld]
port           = 3306  :: 사용할 port 번호를 적어줍니다.
socket         = /tmp/mysql.sock :: 소켓 위치를 적어줍니다.
 
#skip-locking :: 락을 걸지 않겠다면 주석을 해제합니다.
 
key_buffer = 384M ::  인덱스를 위한 버퍼크기
max_allowed_packet =1M
# 클라이언트 통신에 대해 사용되는 버퍼가 커질수 있는 최대 크기 ( 최대값은
# version 3.xx 이하 16MB, 4.xx 이상 1GB)
 
table_cache = 512 :: MySQL 서버가 한번에 열수 있는 테이블의 개수 설정,
 
sort_buffer_size = 2M
read_buffer_size = 2M
# 정렬을 위해 사용되는 버퍼 크기  3.xx 버전에서는 sort_buffer_size가 sort_buffer,
# read_buffer_size가 record_buffer로 사용되었습니다.

myisam_sort_buffer_size = 64M 
# MyISAM 테이블 타입에서 인덱스를 만들거나(create table ..), 인덱스로 변경(alter
# table ...) 하거나, 복구( repair ...) 할 때 사용하는 버퍼크기
 
thread_cache = 8 :: 스레드 캐쉬 사이즈
query_cache_size = 32M :: 쿼리 케시 버퍼 사이즈
 
thread_concurrency = 8
# 솔라리스에만 사용되며 cpu 개수에 따라 공식을 적용하여 입력한다.
 
 
max_connections=1000  :: 최대 접속 허용 수
max_connect_error=10000 :: 최대 접속 오류 수
 
max_delayed_threads=1000
# INSERT DELAYED 쿼리를 사용할 수 있는 최대 쓰레드 수
 
tmp_table_size=64M
# 디스크에 쓰여진 후 임시 테이블의 최대 크기
 
key_buffer_size=369M
# 인덱스를 위한 버퍼 사이즈 (인덱스 데이터 캐싱을 위한 메모리 제한) 
# verison 3.xx 이전 key_buffer

---- Replication Master Setting
log-bin=dir/BIN
# 리플리케이션 Binary log를 저장할 위치를 기입

server-id      = 1
# 리플리케이션에 사용될 server id
 
binlog-do-db   = DBName
# 리플리 케이션에 사용될 DB를 기입한다. 

----- Replication Slave Setting
server-id       = 2
master-port     =  <port>
master-host  = 'IP'
master-port  = port
master-user  = 'username'
master-password  = 'passwd'



이정도 되면 기본 세팅은 완료되었습니다.
기본적으로 사용되는 옵션을 나열했구요, 이외에도 skip 에러 처리, innodb 세팅, mysqldmulti 세팅 등은 차후에 다룰 예정이기때문에 생략하였습니다.

my.cnf 파일은 아까도 말씀드렸듯이 mysql이 올라갈경우에 적용되므로 수정하신다음에 mysqld를 구동하시면 오류가 발생하였을경우 친절하게도 err파일에 기록이 되므로 별도의 TEST서버를 구축하셔서 이것저것 고쳐보는것도 괜찮은 방법입니다.


이제 세팅에 대한 대부분이 완료 되었습니다. ^^
아직 다음에 어떤부분을 다룰지 정해지지 않았습니다. 정해지는 대로 바로 돌아오도록 할께요 다들 좋은 하루 되세요







 

'MySQL > Setting' 카테고리의 다른 글

Mysql 설치를 해볼까요 (1부)  (2) 2009.04.09
Mysql 설치에 앞서....  (2) 2009.03.27