MySQL 에서는 기본적으로 데이터베이스명 변경을 허용하지 않다가
5.1.7 이후 버전에서 rename database 구문을 업데이트 하여 사용 할 수 있게 하였으나 위험 가능성이 높은 구문으로 판단 하고 5.1.23 이후 버전 부터 다시 제거 됐다.
(참고: http://dev.mysql.com/doc/refman/5.1/en/rename-database.html)
하지만 rename 구문이 제공되지 않는다고 해서 데이터베이스명을 변경 할 수 없는 것은 아니다.
새로운 데이터베이스를 생성하고 기존의 테이블을 매핑 시켜 주는 방법이 있다.
(데이터베이스 내의 테이블 리스트를 얻는 방법은 여러가지가 있으므로 생략한다)
mysql> create database <new_database>;
mysql> rename table <old_database.table_name> to <new_database.table_name>
이후 procedure도 옮길 필요가 있을 경우 아래와 같이 업데이트를 해주자
mysql> update mysql.proc set db='old_database' where db='new_database';
이외 데이터베이스명 변경 시 필요항 항목들도 체크가 필요하다.
'Databases > MySQL' 카테고리의 다른 글
mysql_upgrade 사용하여 테이블 repair 하기 (0) | 2013.03.20 |
---|---|
sort aborted 에러 발생시 해결법 (0) | 2013.03.07 |
[MySQL] substring_index()으로 특정 문자열만 추출하는 SQL 구문 (0) | 2013.02.14 |
(vb 스크립트를 이용하여) excel 에서 MySQL 연결 후 데이터 추출 (0) | 2012.08.17 |
Open Source Tools (0) | 2012.03.07 |