>데이터 베이스 >MySQL 튜토리얼 >성능 문제 없이 MySQL 데이터베이스의 이름을 효율적으로 바꾸는 방법은 무엇입니까?

성능 문제 없이 MySQL 데이터베이스의 이름을 효율적으로 바꾸는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-14 06:01:10917검색

How to Rename a MySQL Database Efficiently Without Performance Issues?

성능 병목 현상 없이 MySQL 데이터베이스(스키마) 이름 바꾸기

MySQL 데이터베이스 이름 바꾸기는 특히 대규모 데이터베이스의 경우 지루한 작업이 될 수 있습니다. 데이터를 덤프한 다음 다시 가져오는 기존 방법은 시스템에 부담을 주어 성능에 영향을 줄 수 있습니다.

InnoDB 데이터베이스를 위한 단계별 솔루션

InnoDB 데이터베이스 이름을 바꾸려면 다음을 고려하십시오. 접근 방식:

  1. 새 빈 데이터베이스 만들기: 다음을 사용하여 새 데이터베이스를 만드는 것으로 시작합니다. 원하는 이름을 지정합니다.
  2. 데이터베이스 테이블 이름 바꾸기: 다음 명령을 사용하여 이전 데이터베이스에서 새 데이터베이스로 각 테이블을 개별적으로 전송합니다.

    RENAME TABLE old_db.table TO new_db.table;
  3. 권한 조정: 테이블을 이동한 후에는 다음을 반영하도록 권한을 수정해야 합니다.

자동 솔루션

셸 스크립트에서 프로세스를 자동화하려면 다음 명령 중 하나를 실행할 수 있습니다.

  1. 잠깐 사용하기 루프:

    mysql -u username -ppassword old_db -sNe 'show tables' | while read table; \
    do mysql -u username -ppassword -sNe "rename table old_db.$table to new_db.$table"; done
  2. for 루프 사용:

    for table in `mysql -u root -ppassword -s -N -e "use old_db;show tables from old_db;"`; do mysql -u root -ppassword -s -N -e "use old_db;rename table old_db.$table to new_db.$table;"; done;

추가 고려 사항

트리거: 이 방법을 사용하여 트리거가 있는 테이블을 데이터베이스 간에 이동할 수 없습니다.

저장 프로시저: 저장 프로시저가 있는 경우 다음을 기억하세요. 나중에 다음을 사용하여 복사하세요.

mysqldump -R old_db | mysql new_db

위 내용은 성능 문제 없이 MySQL 데이터베이스의 이름을 효율적으로 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.