mariadb - 테이블 XXX가 엔진에 없습니다.
그래서 ALTER TABLE ADD COLUMN 이후에 int()가 아닌 10진수()가 되어야 한다는 것을 깨달았습니다.칼럼을 추가하는 것은 저녁 식사가 빨랐습니다.알터테이블 드롭 칼럼(큰 실수, gh-host 사용했어야 함)을 했을 때 테이블이 50GB 정도로 꽤 크고 파티션이 되어 있기 때문에 문제가 될 것이라는 것을 알았습니다(한 달에 한 개).어쨌든 제가 작동 상태로 놔뒀다가 돌아왔을 때 터미널이 시간 초과되어 프로세스가 실패한 것이 분명합니다.테이블은 여전히 "show tables"에 있지만 선택 시 엔진에 존재하지 않는다고 표시됩니다.ibd 파일이 data dir에 있습니다.
select * from SPX_21;
오류 1932 (42S02):테이블 'cellpage_MRA'SPX_21'이(가) 엔진에 없습니다.
ls의 data dir는 다음을 보여줍니다.
오류 로그는 기본적으로 Innodb 엔진과 mariadb 사이에 불일치가 있음을 보여줍니다.
2021-05-01 19:25:58 24 [경고] InnoDB: Table cellpage_MRA/SPX_21#P#p0에는 InnoDB에는 5개의 사용자 정의 열이 있지만 MariaDB에는 6개의 열이 있습니다.INFORMATION_SCHEMA를 확인해주시기 바랍니다.문제 해결 방법은 INNODB_SYS_COLUMNS 및 https://mariadb.com/kb/en/innodb-data-dictionary-troubleshooting/ 에서 확인할 수 있습니다.
링크는 전혀 도움이 되지 않습니다.
ibd 데이터를 mariadb 테이블에 어떻게든 다시 동기화 할 수 있는 방법이 있습니까?
show table status는 단순히 테이블 이름이 표시되지만 해당 테이블에 대한 다른 모든 것은 null입니다.
show table status where Name like '%SPX_21%'
그러나 정보 스키마는 모든 것이 잘되어 있음을 보여 줍니다??? 또는 그것이 정의되어야 할...
SELECT *
FROM INFORMATION_SCHEMA.INNODB_SYS_TABLES
WHERE NAME LIKE '%SPX_21%';
SELECT *
FROM INFORMATION_SCHEMA.INNODB_SYS_COLUMNS
WHERE TABLE_ID>=60244 and TABLE_ID<=60253;
열 정의에 스키마의 모든 파티션에 대해 5개의 열이 표시됩니다.
어떤 도움이라도 주시면 감사하겠습니다.
감사해요.
가능한 해결책.https://www.percona.com/blog/2013/04/22/how-to-recover-table-structure-from-innodb-dictionary/
언급URL : https://stackoverflow.com/questions/67352542/mariadb-table-xxx-doesnt-exist-in-engine
'sourcecode' 카테고리의 다른 글
휘발성 구조의 부재를 분리하기 위한 쓰기 순서는 보존이 보장됩니까? (0) | 2023.10.21 |
---|---|
종료하지 않고 PowerShell 세션 새로 고침/다시 시작 (0) | 2023.10.21 |
인쇄 미리 보기에 배경색이 표시되지 않음 (0) | 2023.10.21 |
wc_get_products()의 결과를 json 인코딩할 수 없습니다. (0) | 2023.10.21 |
SHA256으로 문자열 해시 (0) | 2023.10.21 |