본문 바로가기
DATABASE/MariaDB

[MariaDB][Error] ERROR 1005 (HY000) (errno: 184 "Tablespace already exists")

by DANEW 2023. 7. 20.

Intro

안녕하세요 초보 DBA 다뉴입니다.

요번에 만나게 된 오류에 대해서 이야기 해볼까 하는데요.

 

MariaDB 운영서버 -> MariaDB DR서버로 자동 백업 / 원격지 복원하는 과정에서 발생되었습니다.

기존에 잘 운영되고있는 로직이였는데요.

DR서버에 잠시 테스트한다고 이것저것 건드렸다가 문제가 발생하게 되었습니다.


어떤 오류?

ERROR 1005 (HY000) Can't create table [Database Name].[Table Name]

테이블을 생성 할 수 없다고 나오는 데요, 뒤에 에러 코드가 추가로 더 있었습니다.

(errno: 184 "Tablespace already exists")

Error Message

(errno: 184 "Tablespace already exists") 이라는 것을 보니

TableSpace에 이미 해당 테이블이 존재하여 만들려고 하는 테이블을 만들 수가 없는것 같습니다.

이유는?

제가 이것저것 테스트 하다가 실수로 DR서버의 MariaDB 데이터 폴더의 권한을 잘 못 변경하였습니다.

그래서 해당 데이터 폴더에 복원을 하던 도중

첫 번째 데이터베이스의 첫번째 테이블 삭제/생성 과정에서

TableSpasce에 해당 이름으로 이미 자리를 잡게 된거 같네요.

반응형

해결 방법

권한 설정

우선 문제가 되었던 폴더 권한 설정을 변경하였습니다.

mysql 디렉토리에 소유주 권한을 변경

--권한 설정 변경
chown -R mysql:mysql mysql

Table Space 확보

그리고 직접적으로 문제가 되었던 Table Space에 이미 자리 잡고있는 파일을 삭제하였습니다

데이터가 들어있는 mysql/[Database Name] 디렉토리로 이동 하여, [TableName].idb 파일을 삭제하였습니다.


Outro

위 내용으로 오류를 해결하였는데요.

리눅스에 아직 익숙치 않아 권한 설정등에 실수가 만든 MariaDB 데이터베이스 오류였습니다.

 

다른 실수가 다른곳에서 오류를 만들다 보니 원인 파악이 많이 어렵다고 느껴지네요.

 

이상 다뉴였습니다.

감사합니다.

반응형