programing

mariadb 온라인 삭제 인덱스가 작동하지 않음

newstyles 2023. 6. 13. 22:03

mariadb 온라인 삭제 인덱스가 작동하지 않음

저는 maridab을 사용하고 있습니다.온라인 ddl 옵션(lock=inplace, Algorithm=inplace)을 사용하여 인덱스를 삭제하려고 하면 구문 오류가 발생합니다. DROP INDEX idx_new ON posts ALGORGHT=INPLACE LOCK=EROR 1064(42000):SQL 구문에 오류가 있습니다. 줄 1의 'ALGORTHM=INPLACE LOCK=LOCK' 근처에서 사용할 올바른 구문은 MariaDB 서버 버전에 해당하는 설명서를 참조하십시오.

제가 문서를 이해하는 한, 최신 mariadb는 DDL을 온라인으로 실행할 수 있어야 합니다.

나는 이 ddl을 시도했습니다:

DROP INDEX idx_new ON posts ALGORITHM=INPLACE LOCK=NONE;

그리고 다음과 같은 것들도 있습니다.

DROP INDEX idx_new ON posts LOCK=NONE ALGORITHM=INPLACE;
DROP INDEX idx_new ON posts LOCK=NONE;

다음은 몇 가지 배경 정보입니다.

OS: macOS Sierra 10.12.3

나는 mysql을 brew를 통해 설치하고(버전이 기억나지 않음) mariadb로 교체했습니다(brew를 통해 제거하고 설치하기도 함).

> mysql --version
mysql  Ver 15.1 Distrib 10.2.5-MariaDB, for osx10.12 (x86_64) using readline 5.1

이상한 것은:sqlui(Sequel Pro)를 사용하면 제목(MySQL 5.5.5 - 10.2.5-MariaDB)에 표시됩니다.

MySQL 5.5.5의 아티팩트가 남아 있을 수 있습니까?

MariaDB 10.2.5는 Drop INDEX를 온라인으로 실행할 수 없어야 합니까?

의 구문 오류DROP INDEX는 알려진 버그 https://jira.mariadb.org/browse/MDEV-12572 , 구문 결함입니다.이 문제를 해결하려면 일반적인 방법을 사용해야 합니다.ALTER문:

ALTER TABLE posts DROP INDEX idx_new, ALGORITHM=INPLACE, LOCK=NONE;

에 관하여5.5.5접두사 - 5.5 아티팩트를 나타내는 것이 아닙니다.이 접두사는 10.x 릴리스 버전 라인과 함께 도입되어 10.x를 유효한 버전으로 인식하지 못하고 통신을 거부하는 서버 및 클라이언트를 처리합니다(자세한 내용은 https://jira.mariadb.org/browse/MDEV-4088 참조).

MariaDB 서버와 클라이언트는 접두사를 삭제하지만 타사 응용 프로그램은 삭제하지 않습니다.

언급URL : https://stackoverflow.com/questions/43750390/mariadb-online-drop-index-does-not-work