오류: 테이블용 테이블스페이스가 존재합니다. IMPORT 전에 테이블스페이스를 삭제하십시오.
질문:
MySQL 사용자가 이전에 존재했던 테이블을 생성하려고 시도하는 중에 오류가 발생했습니다. 오류 메시지는 테이블의 테이블스페이스가 이미 존재하며 가져오기 전에 이를 삭제해야 함을 나타냅니다. 그러나 테이블을 삭제하거나 테이블스페이스를 삭제하려고 하면 테이블이 존재하지 않는다는 오류 메시지가 나타납니다. 이 문제의 원인은 무엇입니까?
답변:
이 오류는 일반적으로 'innodb_file_per_table' 모드에서 실행하고 '테이블 공간이 가득 참' 오류가 발생할 때 발생합니다. 데이터베이스 서버의 테이블스페이스는 기본적으로 제한될 수 있는 innodb_data_file_path 설정으로 정의됩니다.
이러한 경우 파일이 있는 OS 디렉터리에 동반 .frm 파일 없이 고아 .ibd 파일이 존재할 가능성이 높습니다. 테이블별로 저장됩니다(일반적으로 /var/lib/mysql 또는 /usr/local/var/mysql).
해결책:
문제 해결 방법:
예:
$ ls /var/lib/mysql table1.frm table1.idb table2.frm table2.idb table3.idb <-- problem table, no table3.frm table4.frm table4.idb $ mkdir /tmp/mysql_orphans $ mv /var/lib/mysql/table3.ibd /tmp/mysql_orphans/
참고: 장기 실행 쿼리 또는 잠긴 테이블과 같은 모든 기본 원인이 해결되어 추가 고아를 방지합니다. .ibd 파일이 생성되지 않습니다.
위 내용은 MySQL 가져오기 오류: 테이블스페이스가 있지만 테이블이 없습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!