레이블이 파일배치인 게시물을 표시합니다. 모든 게시물 표시
레이블이 파일배치인 게시물을 표시합니다. 모든 게시물 표시

2009년 4월 22일 수요일

InnoDB 파일배치1

[ frm 파일]

    InnoDB 테이블의 정의 파일이다.  MyISAM테이블과 마찬가지로 데이터베이스 디렉토리 밑에 다음과 같은 파일이 생성된다.  

    테이블명.frm

MySQL은 테이블 정의 정보를 데이터베이스 디렉토리 내의 frm파일안에 가지고 있다. 
그러나 InnoDB는 frm파일과는 별도로 테이블관리정보를 테이블스페이스안에 가지고 있다. 
따라서 InnoDB테이블의 frm파일을 수동으로 지우는 것은  부정합을 일으키는 원인이 된다. 
InnoDB는 원래 MySQL AB 밖에서 작성된 엔진으로 2001년에 MySQL 하위층에 추가된 것이다. 
InnoDB내부에서 관리정보가 개별로 존재하고 MySQL 상위층과 연계를 위해서 frm파일이 존재한다는 것에 주의해야한다. 



  


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이지 않으면 않된다.