14.5.1 InnoDB 테이블 스페이스 생성
MySQL을 설치하고 필요한 InnoDB
구성 매개 변수가 포함되도록 옵션 파일을 편집했다고 가정합니다. MySQL을 시작하기 전에 InnoDB
의 데이터 파일과 로그 파일에 지정한 디렉토리가 존재하고 MySQL 서버가 해당 디렉토리에 대한 액세스 권한이 있는지 확인합니다. InnoDB
는 파일 만 작성하고 디렉토리는 생성하지 않습니다. 데이터 파일 및 로그 파일에 대한 디스크 공간이 충분한 지도 확인합니다.
InnoDB
가 활성화되어있는 상태에서 서버를 처음 시작할 때 가장 좋은 방법은 MySQL 서버 mysqld를 mysqld_safe에서도 Windows 서비스로도 않고 명령 프롬프트에서 실행하는 것입니다. 명령 프롬프트에서 실행하면 mysqld에 출력되는 내용 및 발생하는 현상이 나타납니다. Unix에서는 단순히 mysqld를 호출 할뿐입니다. Windows에서는 출력이 콘솔 창에되도록 --console
옵션으로 mysqld를 시작합니다.
옵션 파일에서 처음 InnoDB
를 구성한 후, MySQL 서버를 시작하면 InnoDB
는 데이터 파일과 로그 파일이 작성되어 다음과 같은 내용이 출력됩니다.
InnoDB: The first specified datafile /home/heikki/data/ibdata1 did not exist: InnoDB: a new database to be created! InnoDB: Setting file /home/heikki/data/ibdata1 size to 134217728 InnoDB: Database physically writes the file full: wait... InnoDB: datafile /home/heikki/data/ibdata2 did not exist: new to be created InnoDB: Setting file /home/heikki/data/ibdata2 size to 262144000 InnoDB: Database physically writes the file full: wait... InnoDB: Log file /home/heikki/data/logs/ib_logfile0 did not exist: new to be created InnoDB: Setting log file /home/heikki/data/logs/ib_logfile0 size to 5242880 InnoDB: Log file /home/heikki/data/logs/ib_logfile1 did not exist: new to be created InnoDB: Setting log file /home/heikki/data/logs/ib_logfile1 size to 5242880 InnoDB: Doublewrite buffer not found: creating new InnoDB: Doublewrite buffer created InnoDB: Creating foreign key constraint system tables InnoDB: Foreign key constraint system tables created InnoDB: Started mysqld: ready for connections
이 시점에서 InnoDB
에 의해 테이블 스페이스 및 로그 파일이 초기화되어 있습니다. mysql뿐만 아니라 일반 MySQL 클라이언트 프로그램을 사용하여 MySQL 서버에 연결할 수 있습니다. mysqladmin shutdown을 사용하여 MySQL 서버를 종료하면 다음과 같이 출력됩니다.
010321 18:33:34 mysqld: Normal shutdown 010321 18:33:34 mysqld: Shutdown Complete InnoDB: Starting shutdown... InnoDB: Shutdown completed
데이터 파일 및 로그 디렉토리를 조사하면 거기에 작성된 파일을 확인할 수 있습니다. MySQL이 다시 시작될 때 데이터 파일 및 로그 파일은 이미 작성되어 있기 때문에 출력은 더 간단합니다.
InnoDB: Started mysqld: ready for connections
innodb_file_per_table
옵션을 my.cnf
에 추가하면 InnoDB
에서는 각 테이블은 .frm
파일이 생성 된 위치와 같은 MySQL 데이터베이스 디렉토리에있는 자신의 .ibd
파일에 저장됩니다. 섹션 14.5.2 "InnoDB File-Per-Table 모드" 를 참조하십시오.