[MySQL] 데이터베이스명 변경하기 기능은 없다(RENAME DATABASE)
데이터베이스명을 변경하고 싶은 욕구가 발생 하였다.
다 그렇듯이 처음생각과 시간이 지나면서의 변하는 생각은 다르기 때문이다.
확장성에 대한 이야기를 많이 하지만 어디 까지나 알고 범위내에서의 확장성이다.
우리가 사용하고 있는 윈도우나 프로그램 언어등 보면 쉽게 알 수 있다.
기존의 경험을 통해 확장성 있게 새로 만든다는 것을 말이다.
그리고 그 다음은 또 위와 같이 진행을 한다.
기능이 있었는데 문제가 있어 없어졌다고 한다.
결론안되기 때문에 고전적으로 사용한 방법을 사용하면 되겠다.
1) 새로운데이터베이스를 하나 만든다.
create database new_pabburi_co_kr;
2) 전체 테이블 덤프를 받는다.
/usr/bin/mysqldump -uroot -p비밀번호 --quote-names --skip-triggers --single-transaction --set-gtid-purged=OFF --no-data --opt old_database > old_database_h.sql
/usr/bin/mysqldump -uroot -p비밀번호 --quote-names --skip-triggers --single-transaction --set-gtid-purged=OFF --no-create-info --opt old_database > old_database_d.sql
3) 덤프받은것을 새로만든 데이터베이스에 올린다.
mysql -A -u root -p비밀번호 -h localhost -P 3306 -D new_pabburi_co_kr < old_database_h.sql
mysql -A -u root -p비밀번호 -h localhost -P 3306 -D new_pabburi_co_kr < old_database_d.sql
4) 이전 데이터베이스를 삭제 한다.
서비스용이 아니라면 mysql stop 한다음 디렉토리명을 변경해 놓아도 된다. mysql은 디렉토리 단위로 데이터베이스가 만들어진다.
버전에 따라 mysql.proc 테이블 관련이 있을 수 있으니 이 것을 같이 변경하는 것도 참고해야 한다.
덤프받아 높은것이 있으니 삭제 해도 무난할것이다.
drop database 이전데이터베이스명;
● 메뉴얼을 통해서 확인이 가능하다
아래 링크를 확인해 보면 현재는 데이터베이스명을 변경하는 기능이 없다는 것을 알 수 있다.
확인을 위해 비슷한 다른검색어를 사용해보면( rename table) 결과가 나오기 때문에 질의문이 잘못된것은 아니라는 것을 알 수 있다.