mysql에서 다음과 같은 방법으로 디비명을 변경할 수 있다. 다음은 old_database를 new_database로 변경하는 예제이다.

 

# create database new_database;

새로운 디비를 생성한다.

 

# rename table old_database.table to new_database.table;

테이블들을 옮겨준다. 테이블이 여러개면 여러번 해주면 된다.

 

# drop database old_database;

기존 디비를 지운다. (옵션사항)

 

추가로 procedure도 옮기고 싶을 경우는 다음과 같이 mysql.proc 테이블을 업데이트 해주면 된다.

# update mysql.proc set db = 'old_database' where db = 'new_database';

 

 

아니면 다른 방법으로 스크립트를 이용하거나 mysqldump를 이용해서 export, import해도된다.

http://stackoverflow.com/questions/12190000/rename-mysql-database 참고

 

 

mysql -e "CREATE DATABASE \`new_database\`;"

for table in `mysql -B -N -e "SHOW TABLES;" old_database`

do

mysql -e "RENAME TABLE \`old_database\`.\`$table\` to \`new_database\`.\`$table\`"

done

mysql -e "DROP DATABASE \`old_database\`;"

 

 

더 편한 방법은 mysql 5.1.7 이상에서는 RENAME DATABASE 구문으로도 지원하다.

http://dev.mysql.com/doc/refman/5.1/en/rename-database.html

+ Recent posts