MongoDB mongorestore 오류: local:::facet::_S_create_c_locale 이름이 잘못되었습니다.
컴퓨터 A(ubuntu 12.04 서버)에서 mongodump로 덤프를 만들었습니다.컴퓨터 B(ubuntu 12.04 서버)로 이동하여 다음과 같이 입력했습니다.
mongorestore -db db_name --drop db_path
실패하여 다음과 같이 보고되었습니다.
연결처: 127.0.0.1
std::syslog_error' 인스턴스를 던진 후 호출된 종료
What(): local:: facet::_S_create_c_locale 이름이 잘못되었습니다.
중단됨
저는 이 작업을 성공적으로 수행한 적이 있지만, 이런 이상한 행동은 한 번도 일어나지 않았습니다.이 문제를 해결하려면 어떻게 해야 하나요?
내 distro에는 "locale-gen"이 설치되어 있지 않고 LC_ALL 환경변수 설정만 하면 되었습니다.따라서 다음 명령으로 수정되었습니다.
export LC_ALL="en_US.UTF-8"
다른 사람에게 도움이 되길 바라며...
사실 MongoDB와 엄밀하게 관련된 것은 아닙니다.왠지 컴퓨터 B의 언어가 올바르게 정의되지 않았다.다음과 같이 입력하여 수정했습니다.
sudo local-gen en_US en_USUTF-8
sudo local-gen it_IT_IT.UTF-8
sudo local-gen xx_xx xx_XX 입니다.UTF-8...
sudo dpkg-sudo 형상 로케일
이러한 명령어는 필요한 로케일을 생성하고 설정합니다.그 단계 후에 몽고레스토어는 평소와 같이 일을 재개했다.
내보내기LC_ALL="en_US.UTF-8"
동작하는 것은, 다음의 것을 가지고 있는 경우 뿐입니다.en_US
인스톨 되어 있습니다.의 인스톨을 회피하는 경우는,locales
패키지(또는 데비안 파생상품 이외의 유통에서는 동등한 것)를 대신 사용할 수 있습니다.
export LC_ALL=C.UTF-8
추가 로케일 데이터는 필요 없습니다.
Mac OSX 및 SSH를 사용하는 경우 이는 잘못된 LC_CSTYPE에 의해 발생할 수 있습니다.
$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
잘못된 var를 설정 해제.
$ unset LC_CTYPE
로케일이 정상적으로 동작하고 있는지 확인합니다.
$ locale
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
이제 mongo도 괜찮을 거야.
수정을 영속적으로 하려면 , 다음의 몇개의 파일을 편집할 수 있습니다.
- sudo vim /etc/default/module
- sudo vim /etc / 환경
그리고 선을 추가한다.LC_ALL="en_US.UTF-8"
local-gen(명령어를 찾을 수 없음)이 설치되지 않은 데비안7에서도 같은 문제가 발생하였습니다.
이 방법으로 해결했습니다.
su
apt-get install locales
dpkg-reconfigure locales # select locales you want!
이제 mongodb가 시작되어야 합니다.
언급URL : https://stackoverflow.com/questions/19100708/mongodb-mongorestore-failure-localefacet-s-create-c-locale-name-not-valid
'programing' 카테고리의 다른 글
Google API 콘솔을 다른 개발자와 공유하는 방법 (0) | 2023.03.31 |
---|---|
'rufous-sandbox'라는 바디 태그에 이상한 iframe이 추가됨 (0) | 2023.03.31 |
FancyBox iframe이 부모를 반환합니다.정의되지 않은 $(WordPress 사용) (0) | 2023.03.31 |
Node.js를 사용한 데이터 스트리밍 (0) | 2023.03.31 |
create-react-app로 구축된 React 프로젝트를 다음 create-react-app 버전으로 업그레이드하는 방법은 무엇입니까? (0) | 2023.03.31 |