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

Mysql DB를 InnoDB로 바꿔봅시다

· 12년 전 · 2938 · 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개

게시글 목록

번호 제목
26447
26436
5279
5276
30674
18417
18414
5261
27054
5259
5239
18413
31486
18410
18400
30670
5231
18395
18387
18381
30661
5222
18380
27043
18366
24478
18359
30660
18355
18351
18343
18333
31439
18329
18323
27040
30655
5211
31427
5205
5193
5184
18317
27032
18313
30647
31408
30644
18306
18303
18288
27028
18285
31383
27024
5174
18276
27017
27130
18274
26427
5170
5160
5157
31371
27010
18267
27003
30636
18265
31350
18262
26998
18260
26992
26988
18259
31328
26986
18257
26983
5154
26975
24474
31309
26966
31251
18253
31218
31201
26957
26954
5147
5139
18248
5132
26947
31189
30631
26939