>  Q&A  >  본문

MySQL 데이터베이스의 이름을 바꾸는 방법(스키마 이름 변경)은 무엇입니까?

<p>MySQL 데이터베이스의 이름을 빠르게 바꾸는 방법(스키마 이름 변경)은 무엇입니까? </p> <p>보통은 데이터베이스를 덤프하고 새 이름으로 다시 가져옵니다. 매우 큰 데이터베이스의 경우 이는 옵션이 아닙니다. 분명히 <code>RENAMED {DATABASE|SCHEMA} db_name TO new_db_name;</code>는 뭔가 나쁜 일을 하고 있으며 몇 가지 버전에만 존재하며 전반적으로 나쁜 생각입니다. </p> <p>이것은 MyISAM과 매우 다른 콘텐츠를 저장하는 InnoDB와 함께 사용해야 합니다. </p>
P粉320361201P粉320361201423일 전530

모든 응답(2)나는 대답할 것이다

  • P粉662089521

    P粉6620895212023-08-24 11:11:03

    다음 몇 가지 간단한 명령을 사용하세요:

    으아악

    또는 I/O를 줄이려면 @Pablo Marin-Garcia가 제안한 다음을 사용하세요.

    으아악

    회신하다
    0
  • P粉949190972

    P粉9491909722023-08-24 10:59:25

    InnoDB의 경우 다음이 작동하는 것 같습니다. 비어 있는 새 데이터베이스를 만든 다음 각 테이블의 이름을 차례로 새 데이터베이스로 바꿉니다.

    으아악

    나중에 권한을 조정해야 합니다.

    셸에서 스크립트를 작성하려면 다음 방법 중 하나를 사용할 수 있습니다.

    으아악

    또는

    으아악

    참고:

    • 옵션-p和密码之间没有空格。如果您的数据库没有密码,请删除 -u username -ppassword 섹션.
    • 테이블에 트리거가 있는 경우 위 방법을 사용하여 다른 데이터베이스로 이동할 수 없습니다(触发器错误架构오류가 발생함). 이 경우 기존 방법을 사용하여 데이터베이스를 복제한 다음 이전 데이터베이스를 삭제하세요.

      <代码>mysqldump old_db | mysql new_db

    • 저장 프로시저가 있는 경우 복사할 수 있습니다.

      <代码>mysqldump -R old_db | mysql new_db

    회신하다
    0
  • 취소회신하다