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

Mysql DB를 InnoDB로 바꿔봅시다

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

게시글 목록

번호 제목
28403
28402
28401
28398
28397
28394
4504
26593
4502
18132
28388
4496
4491
4486
4483
4482
4479
18122
18120
26590
18113
24419
4474
4465
4461
4460
4451
26589
퍼블리셔 이뻐요^^
4450
4448
24418
31037
26390
4446
26585
26581
26578
18098
4443
18097
26388
18094
30596
26387
18091
4445
18088
18086
18085
18082
18081
18078
18076
18074
18072
18070
18069
18066
18064
18057
18056
30588
18055
18054
30585
18051
18050
18048
18047
18044
26386
18042
30580
4425
18039
18037
18031
18028
18027
18022
18018
18016
18009
4423
18003
18000
17999
17996
17993
17989
17987
17986
17985
17984
4411
17979
30576
26383
17975
30569