MySQL Datadir 변경: 테이블이 있지만 액세스할 수 없음
SHOW TABLES에 테이블이 나타나지만 존재 오류를 반환하는 난처한 문제에 대한 응답 접속하니 솔루션이 발견되었습니다.
MySQL 데이터 디렉터리를 재배치한 후 특정 데이터베이스 하나 이런 이상현상을 보였습니다. SHOW TABLES를 사용하여 데이터베이스에 테이블을 성공적으로 연결하고 나열했음에도 불구하고 데이터를 검색하려고 시도하면 "테이블 'database.TABLE_ONE'이 존재하지 않습니다."라는 오류 메시지가 나타납니다.
초기 추측에서는 이 동작이 SHOW 때문이라고 생각했습니다. TABLES는 파일 무결성을 확인하지 않고 파일 존재만 확인합니다. 그런데 다른 원인이 밝혀졌습니다.
"cp -r /path/to/my/database /var/lib/mysql/new_database" 명령을 사용하여 데이터베이스 디렉터리를 직접 복사할 때 이런 문제가 발생합니다. 데이터베이스가 InnoDB 테이블을 사용하는 경우 이 특정 오류가 발생합니다.
해결책은 ib* 파일(예: ibdata1, ib_logfile0, ib_logfile1)이 MySQL 데이터 디렉터리의 루트 디렉터리에 있는지 확인하는 것입니다. 이러한 중요한 파일을 복사한 후 접근성 문제가 해결되고 테이블 액세스가 복원됩니다.
위 내용은 MySQL 데이터 디렉터리 이동됨: SHOW TABLES가 존재하지 않는 테이블을 표시하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!