MySQL을 가져오는 동안 "테이블스페이스가 있습니다" 오류 해결
MySQL 데이터를 가져오는 동안 "테이블 xxx에 대한 테이블스페이스가 있습니다" 오류가 발생하면 처음에는 테이블스페이스가 존재하지 않기 때문에 테이블스페이스를 삭제할 수 없다는 것이 직관에 어긋나는 것처럼 보일 수 있습니다. 그러나 이 문제는 테이블스페이스 정보와 실제 테이블 상태가 일치하지 않아 발생합니다.
경우에 따라 "innodb_file_per_table" 모드에서 "tablespace full" 오류가 발생할 수 있습니다. innodb_data_file_path 테이블스페이스가 충분하지 않으면 고아가 나타날 수 있습니다(.frm 대응 항목이 없는 .ibd 파일). 이 문제를 해결하려면:
MySQL 테이블당 파일이 저장된 디렉터리로 이동합니다( 예를 들어 macOS의 경우 /var/lib/mysql). 함께 제공되는 tablename.frm 파일이 없는 tablename.ibd 파일을 식별합니다.
이동 분리된 .ibd 파일을 안전한 임시 위치로 복사합니다. 이렇게 하면 데이터베이스에서 연결이 끊어집니다.
MySQL 인터페이스에서 문제가 있는 테이블을 삭제합니다(예: DROP TABLE temp;) 그런 다음 다시 생성합니다(예: CREATE TABLE temp (...);).
오류를 유발했을 수 있는 근본적인 문제(예: 장기 실행 쿼리 또는 잠긴 테이블)를 해결하는 것이 중요합니다. 그렇게 하지 않으면 후속 시도 중에 분리된 .ibd 파일이 다시 나타날 수 있습니다.
위 내용은 가져오는 동안 MySQL \'테이블 xxx에 대한 테이블 공간이 있습니다\' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!