>데이터 베이스 >MySQL 튜토리얼 >내 MySQL 테이블이 SHOW TABLES에는 나타나지만 SELECT 쿼리에는 나타나지 않는 이유는 무엇입니까?

내 MySQL 테이블이 SHOW TABLES에는 나타나지만 SELECT 쿼리에는 나타나지 않는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-07 05:49:12790검색

Why Does My MySQL Table Appear in SHOW TABLES But Not in SELECT Queries?

MySQL 테이블 소멸 문제 해결

SHOW TABLES가 SELECT와 같은 데이터 작업에 액세스할 수 없는 테이블을 표시하는 불일치가 발생하는 경우 근본적인 원인은 종종 파악하기 어렵습니다. 잠재적인 원인 중 하나는 SHOW TABLES로 감지되지 않을 수 있는 손상된 테이블 파일입니다.

한 특정 사례에서는 사용자가 MySQL 데이터 디렉터리를 변경한 후 이 문제가 발생했습니다. 테이블의 파일이 있음에도 불구하고 데이터를 선택하면 오류가 발생합니다.

ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't exist

이 역설적인 동작으로 인해 SHOW TABLES는 무결성이 아닌 파일 존재만 확인한다는 추측이 나왔습니다. 그러나 문제의 근본 원인은 결국 밝혀졌습니다.

  • 문제의 데이터베이스는 MySQL 데이터 디렉터리에 저장된 ibdata1 및 ib_logfile 파일을 사용하는 InnoDB 테이블을 사용했습니다.
  • 이러한 데이터베이스가 이동되었을 때 새 데이터 디렉터리에 파일이 없었습니다.

문제를 해결하기 위해 사용자는 다음을 복사했습니다. 파일을 새 데이터 디렉터리에 추가하여 테이블 접근성을 성공적으로 복원했습니다. 이는 기능을 보장하기 위해 InnoDB 기반 데이터베이스를 복사할 때 이러한 파일을 포함하는 것이 중요함을 강조합니다.

위 내용은 내 MySQL 테이블이 SHOW TABLES에는 나타나지만 SELECT 쿼리에는 나타나지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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