[mysql] innodb 테이블스페이스 분리 > DB/SQLite

본문 바로가기
사이트 내 전체검색

DB/SQLite

[mysql] innodb 테이블스페이스 분리

페이지 정보

작성자 sbLAB 댓글 0건 조회 7,468회 작성일 18-07-25 17:15

본문

http://www.mysqlkorea.co.kr/sub.html?mcode=manual&scode=01&m_no=21860&cat1=14&cat2=422&cat3=437&lang=k

 

초기에는 대량정보가 저장되는 테이블이 1개 뿐이었기 때문에, tablespace 분리를 할필요가 없었다.

그러나, 로직이 추가되면서 추가테이블이 만들어 졌는데 그 테이블에 더욱 큰 자료가 저장되므로 테이블별 tablesapce가

할당되로록 할 필요가 생겼다.

 

DB 테이블스페이스를 각 테이블이름으로 파일분리하여 저장해 본다.

깔끔하게 하기 위해서 백업 → 기존 innodb 테이블스페이스를 완전히 삭제  →  my.ini 수정 →  복원 형태로 한다.

 

 

1. 기존 innodb testDB   sql 덤프백업

 

2. Mysql 서비스 중지

 

3. 기존 innodb testDB테이블스페이스 및 testDB폴더 삭제


4cb3f0ba517befeb9b243ed5915443ee_1532506481_65.jpg
 

4. my.ini 수정 

[mysqld]
innodb_file_per_table  ←  추가

 

5. Mysql 서비스 시작

 

6. phpmyadmin 툴로 삭제된 testDB명 다시 만들기

※ mysql db, user 테이블정보에 testDB정보가 있기 때문에 권한정보가 그대로 있다.

      물리적으로 삭제된 testDB명으로 데이타베이스만 만들면 된다. 


4cb3f0ba517befeb9b243ed5915443ee_1532506500_8101.jpg


7. 덤프백업한 sql  복원(가져오기)

 

8. 결과

    각 테이블이름으로 tablespace 생성됨

4cb3f0ba517befeb9b243ed5915443ee_1532506523_1605.jpg


[testDB폴더 내부]

데이터와 인덱스는 .ibd 파일에 함께 저장

table_name.frm 파일 생성


4cb3f0ba517befeb9b243ed5915443ee_1532506547_244.jpg
 



댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
360
어제
356
최대
1,279
전체
211,723

그누보드5
Copyright © sebom.com All rights reserved.