웹마스터 팁
XE사용 Mysql DB를 InnoDB로 바꿔봅시다 ※서버환경 사용자에 한함
2012.06.30 03:58
※ 주의 아래의 방법은 위험할 수 있습니다.
(충분한 백업 등이 필요한 방법입니다.)
XE로 접속규모가 큰 사이트를 운영하게 되면 조금이라도 로드를 줄이고 싶은 마음이 드는 것이 현실입니다.
속도에 영향을 미치는 몇가지 사항이 있는데 그러한 사항 중에서 시간이 많이 걸린다는 식으로 거론되는 부분은
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 등을 이용가능하면 충분히 위의 방법을 응용할 수 있습니다. 그럼 안녕히~
댓글 4
-
미스촌닭
2012.06.30 20:59
-
데브위트™
2012.07.01 07:39
이미지가 첨부될것이 없을듯 싶은데요 ssh쉘 접속하여 그대로만 하시면 되는 부분입니다. ㅇㅅㅇ;
-
미스촌닭
2012.07.02 11:48
APM_SETUP 에서 않됩니까 다지우고 다시 생성하고
PHPADMIN 들어가서 보면 MYISAM 으로 나오네요
-
미스촌닭
2012.07.08 18:07
mysql my.ini 에서 설정부터 변경해야 되는 군요
워낙 초보라 넘힘드네여 좀알기쉽게 설명 해 주실수는 없나요
좀더 상세 하게 이미지 첨부 같은것