테스트 사이트 - 개발 중인 베타 버전입니다

Mysql DB를 InnoDB로 바꿔봅시다

울랄라커뮤니케이션스
· 12년 전 · 2936 · 1

속도에 영향을 미치는 몇가지 사항이 있는데 그러한 사항 중에서 시간이 많이 걸린다는 식으로 거론되는 부분은


Mysql DB방식을 isam에서 innodb로 바꾸는 부분이죠. 이러한 부분에 대하여 설명하려고 합니다.


[1] 서버사용자(SSH 및 여러 권한 필요)


1. 먼저 ssh로 접근하셔서 아래와 같은 방법으로 Mysql을 백업을 하시면 됩니다.

(DB이름은 XE의 DB를 넣어주시면 됩니다.)


mysqldump -u 사용자명 -p DB이름 > 원하는이름.sql


2. 덤프(백업)를 뜬 sql 파일을 열어서 MyISAM(혹은 ISAM, isam)을 InnoDB로 변경하여 주시면 됩니다.

vim 을 사용하시면 좋고, vim 사용이 익숙하지 못한 분은 다운 받아서 editplus등을 이용하셔도 되겠습니다.


vim에서 바꾸는 방법은 

:%s/MyISAM/InnoDB/c

후 제대로 된 부분이 바뀌는지 확인하시고 a를 누르시면 다 replace됩니다.

※주의 : 바꾸시기 전에 cp 원래db명 백업파일명 등을 사용하여 백업해두시는 것을 권장합니다.


3. 원래 사용하던 db를 지웁니다.

mysql -u사용자명 -p

use mysql;

drop DATABASE 원래사용하던DB명;


4. 다시 사용하던 db를 생성합니다.

create DATABASE 원래사용하던DB명;


5. InnoDB로 바꾼 sql파일을 다시 DB에 넣습니다.

mysql -uroot -p DB명< db파일(예:aaa.sql)


6. 제대로 작동하는지 확인합니다.

※ 작동이 안되면 위의 단계에서 무엇인가 잘못했는지 확인하고 그래도 안되면 백업해둔 원래 파일로 다시 DB에 넣습니다 -_-;;;


혹시나 innodb로 바꾸고 싶었는데 망설여졌다거나 하는 분에게 조금이라도 도움이 되었으면 좋겠습니다. 그리고 노파심에 하는 말이지만, 위의 방법을 사용해서 DB가 손실되었다거나 하는 일이 생겨도 제탓이 아닙니다 ㅠ_ㅠ(DB 백업을 꼭 해놓고 하십시오...) 그리고 ssh가 작동안하는 환경이어도 phpmyadmin 등을 이용가능하면 충분히 위의 방법을 응용할 수 있습니다. 그럼 안녕히~

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

12년 전
감사합니돠

게시글 목록

번호 제목
5125
31169
31156
24468
5123
26932
18245
18239
5111
18236
5097
5096
26924
5086
5080
31139
26919
5078
26914
26898
18227
24462
26891
5072
5069
5066
26889
24457
5061
30628
5059
26413
18223
18222
31109
26410
26406
5056
5042
26885
31097
18214
5034
5030
31075
26879
5021
5019
18207
26854
5010
5002
4999
4986
4995
18196
30626
18195
26852
26846
4985
18186
30622
26842
18184
26839
18182
4972
4954
4951
4947
24448
26832
4937
4934
26827
18181
4924
18169
4930
4917
24438
26820
26813
4912
26804
4906
4895
4887
4882
4877
4869
30618
4866
26799
4862
26795
24430
4857
30609