2008년 12월 4일 목요일

MySQL기본구조3

파일의 배치
MySQL서버등의 명령어를 인스톨한 곳을 「basedir」, MySQL데이터를 저장하는 곳을 「datadir」라고 부른다.  basedir, datadir 둘다 MySQL서버 옵션으로 존재하고 변경가능하다. 

MySQL서버가 사용하는 파일은 다음과 같다. 
  [basedir] -----
                      + share/mysql/charsets/
                      + share/mysql/english/
  [datadir] -----
                      +mysql/

[datadir]/mysql/은 권한테이블이 저장되어있는 중요한 디렉토리이다. 이 디렉토리 아래에 결정된 파일이 없으면 서버는 기동되지 않는다. 
[datadir]/ 이하는 작성된 디렉토리는 서버가 「데이터베이스」라고 인식한다. 
예를 들어 「test」라는 데이터베이스가 존재한다고 하면 즉 [datadir]/test/ 디렉토리가 존재하는 것을 말한다. 

예를 들어 「test」데이터베이스에 「a」라는 테이블을 작성하면 [datadir]/test/a.frm파일이 작성된다.  frm파일은  테이블정의가 기록되는 파일이다. 
데이터와 인덱스등은 MyISAM, InnoDB, NDB라는 스토리지엔진의 차이에 따라 작성하는 룰도 달라진다. 

사용되는 빈도가 높은 MyISAM의 경우에 [datadir]/test/a.MYD, [datadir]/test/a.MYI파일이 작성된다. 

「mysql」데이터베이스 아래의 권한테이블은 MyISAM이지 않으면 않된다.