 알 수 없는 데이터 정렬: utf8mb4_0900_ai_ci.png)
(해결됨) 알 수 없는 데이터 정렬: utf8mb4_0900_ai_ci
데이터 정렬은 데이터베이스 서버에서 문자열을 비교하고 정렬하는 방법을 정의하는 일련의 규칙입니다. 이 튜토리얼에서는 다른 서버에서 데이터베이스를 복원하는 동안 발생한 오류에 대해 설명합니다. 최근에 발생한 문제와 해결 방법을 살펴보겠습니다.
여기에 솔루션이 있습니다.
문제
웹 응용 프로그램을 마이그레이션하는 동안 데이터베이스를 복원하는 동안 아래 오류가 발생했습니다. 다른 서버. 데이터 정렬 ID는 MySQL 버전에 따라 다를 수 있습니다. 오류 메시지:Error 1273 (HY000) at line 25 Unknown collation: 'utf8mb4_0900_ai_ci'데이터베이스 복원 중 오류 스크린샷을 참조하십시오.

해결책
약간의 조사 후에 대상에서 실행 중인 MySQL 서버가 소스보다 이전 버전임을 발견했습니다. 따라서 대상 서버에 필요한 데이터베이스 데이터 정렬이 포함되어 있지 않다는 것을 알게 되었습니다. 그런 다음 이 문제를 해결하기 위해 백업 파일을 약간 조정합니다. 텍스트 편집기에서 데이터베이스 백업 파일을 편집하고 "utf8mb4_0900_ai_ci"를 "utf8mb4_general_ci"로, "CHARSET=utf8mb4"를 "CHARSET=utf8"로 바꿉니다. 아래 문자열ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;을
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;로 바꿉니다. 파일을 저장하고 데이터베이스를 복원합니다. .Linux 시스템 사용자는 sed command을 사용하여 파일의 텍스트를 직접 바꿀 수 있습니다.
그. 위의 변경 후 데이터베이스가 성공적으로 복원되었습니다! "알 수 없는 데이터 정렬: 'utf8mb4_0900_ai_ci'"문제를 해결하는 데 이 솔루션이 도움이 되었기를 바랍니다.sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' backup.sql
sed -i 's/CHARSET=utf8mb4/CHARSET=utf8/g' backup.sql