[mysql] innodb 테이블스페이스 분리
작성일 18-07-25 17:15
페이지 정보
작성자sbLAB 조회 7,933회 댓글 0건본문
초기에는 대량정보가 저장되는 테이블이 1개 뿐이었기 때문에, tablespace 분리를 할필요가 없었다.
그러나, 로직이 추가되면서 추가테이블이 만들어 졌는데 그 테이블에 더욱 큰 자료가 저장되므로 테이블별 tablesapce가
할당되로록 할 필요가 생겼다.
DB 테이블스페이스를 각 테이블이름으로 파일분리하여 저장해 본다.
깔끔하게 하기 위해서 백업 → 기존 innodb 테이블스페이스를 완전히 삭제 → my.ini 수정 → 복원 형태로 한다.
1. 기존 innodb testDB sql 덤프백업
2. Mysql 서비스 중지
3. 기존 innodb testDB테이블스페이스 및 testDB폴더 삭제
4. my.ini 수정
[mysqld]
innodb_file_per_table ← 추가
5. Mysql 서비스 시작
6. phpmyadmin 툴로 삭제된 testDB명 다시 만들기
※ mysql db, user 테이블정보에 testDB정보가 있기 때문에 권한정보가 그대로 있다.
물리적으로 삭제된 testDB명으로 데이타베이스만 만들면 된다.
7. 덤프백업한 sql 복원(가져오기)
8. 결과
각 테이블이름으로 tablespace 생성됨
[testDB폴더 내부]
데이터와 인덱스는 .ibd 파일에 함께 저장
table_name.frm 파일 생성
댓글목록
등록된 댓글이 없습니다.