programing

mysqldump를 빈 DB로 복원할 때 오류 121

css3 2023. 9. 27. 18:05

mysqldump를 빈 DB로 복원할 때 오류 121

MariaDB 사용자 중 한 명이 mysqldump의 출력을 다른 테이블로 파이프링하는 셸 스크립트를 통해 데이터베이스를 복사하기로 결정했습니다.

이전에 생성되지 않은 데이터베이스에 mysqldump를 복원하면 정상적으로 작동합니다.그러나 데이터베이스를 삭제하고 다시 만든 다음 스크립트를 다시 실행하려고 하면 다음 오류가 발생합니다.

25번 행의 오류 1005 (HY000): 테이블을 만들 수 없습니다core_dev.addresses(errno: 121 "쓰기 또는 업데이트 시 키 중복") mysqdump: 쓰기 시 오류 32를 받았습니다.

SHOW ENGINE INODB 상태는 다음과 같은 통찰력을 제공합니다.

2017-05-3009:34:197f9929fb4b00 테이블에 대한 외래키 제약조건 생성 오류core_dev.addresses. 이름의 외래 키 제약 조건core_dev.addresses_ibfk_2이미 존재합니다.(InnoDB는 내부적으로 사용자 정의 제약 조건 이름 앞에 '데이터베이스 이름'을 추가합니다.)InnoDB의 FORENT KEY 시스템 테이블은 MySQL 표준 latin1_swedish_ci colation을 사용하여 제약 조건 이름을 대소문자 구분 없이 저장합니다.이름이 문자 대소문자만 다른 테이블 또는 데이터베이스를 작성할 경우, 제약조건 이름의 충돌이 발생할 수 있습니다.해결 방법: 제약 조건에 고유한 이름을 명시적으로 지정합니다.

그러나 core_dev 데이터베이스는 완전히 비어 있습니다.

MariaDB [(없음)]> SHOW TABLES IN core_dev; 빈 세트 (0.01초)

무엇이 문제일까요?다른 MariaDB 10.1 서버에서 이 문제를 복제할 수 없습니다.유일한 차이점은 이 특정한 것이 센트에서 실행되고 있다는 것입니다.OS 6, 나머지는 CentOS 7에 있습니다.

언급URL : https://stackoverflow.com/questions/43761986/errno-121-on-restoring-mysqldump-to-empty-db