2017. 2. 20. 01:26 Linux Server/mysql
[mysql] myisam -> innodb 변경
- MySQL Version : 5.1.73
- OS : CentOS 7
1. 기존(MyISAM으로 설정된) DB를 Dump 백업합니다.
# mysqldump -u {로그인아이디} -p {백업할 데이터베이스 이름} > {덤프파일 명}
# mysqldump -u root -p test_db > test_db.sql
엔진이 정상적으로 변경 되었음에도 불구하고 database에 프로시저가 덤프가 안떠져서 소스코드나 , 어플이 정상작동 안할수있다.
아래 옵션을 주고 덤프하면 procedure, function, trigger 를 포함하여 백업이 가능하다.
# mysqldump --routines --trigger -u유저이름 -p패스워드 DB명 > 백업파일
# mysqldump --routines --trigger -u root -p les > les.sql
2. 복원시 InnoDB로 적용하기 위해 덤프파일의 내용을 변경합니다.
# sed -e 's/ENGINE=MyISAM/Engine=InnoDB/g' {덤프파일 명} > {새로 적용할 덤프파일 명}
# sed -e 's/ENGINE=MyISAM/Engine=InnoDB/g' test_db.sql > test_db2.sql
3. mysql 콘솔에 접속 후 기존의 데이터베이스를 삭제하고 새로 생성합니다.
mysql> drop database {삭제할 데이터베이스 명}
mysql> drop database test_db
mysql> create database {생성할 데이터베이스 명}
mysql> create database test_db
4. 변경된 덤프파일을 이용해 데이터 베이스를 복원합니다.
# mysql -u {로그인 아이디} -p {복원할 데이터베이스 명} < {새로 적용할 덤프파일 명}
# mysql -u root -p test_db < test_db2.sql
출처 : http://www.33gram.com/
'Linux Server > mysql' 카테고리의 다른 글
[mysql] 버전별 컨피그 값 (0) | 2016.12.09 |
---|---|
[mysql] mysql5.5.29 버전 my.cnf 기본값 (0) | 2016.11.15 |
[mysql] 리플리케이션 (0) | 2016.10.31 |
[mysql] bin 파일 복구 (0) | 2016.10.22 |
[mysql] mysql5.6.14 설치 (0) | 2016.09.17 |