Luc*_*chi 101 locale mongodb mongorestore mongodump ubuntu-12.04
我在计算机A(ubuntu 12.04服务器)上使用mongodump创建了一个转储.我将它移动到计算机B(ubuntu 12.04服务器)并输入:
mongorestore -db db_name --drop db_dump_path
它失败了,它报告说:
连接到:127.0.0.1
终止在抛出'std :: runtime_error'的实例后调用
what():locale :: facet :: _ S_create_c_locale name无效
Aborted
我以前成功地完成了这个操作,这种奇怪的行为从未发生过.我需要做些什么来解决这个问题?
kei*_*sar 255
在我的发行版"locale-gen"没有安装,事实证明我所要做的就是设置LC_ALL环境变量.所以以下命令修复它:
export LC_ALL="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)
希望它会帮助别人......
Luc*_*chi 51
实际上它与MongoDB没有严格的关系.不知何故,计算机B上的语言没有正确定义.我设法通过键入来修复它:
sudo locale-gen en_US en_US.UTF-8
sudo locale-gen it_IT it_IT.UTF-8
sudo locale-gen xx_xx xx_XX.UTF-8 ...
sudo dpkg-reconfigure locales
这些命令将生成并配置所需的语言环境.在那些步骤之后,mongorestore像往常一样恢复工作.
jos*_*sch 15
导出LC_ALL="en_US.UTF-8"仅在en_US安装了区域设置时才有效.如果你想避免安装locales包(或其在Debian衍生产品以外的发行版上的等价物),那么你可以改为使用:
export LC_ALL=C.UTF-8
Run Code Online (Sandbox Code Playgroud)
这不需要任何额外的区域设置数据.
Ale*_*lex 10
如果您使用的是Mac OSX和SSH,则可能由错误的LC_CTYPE发出.
$ 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=
Run Code Online (Sandbox Code Playgroud)
取消设置错误的var.
$ unset LC_CTYPE
Run Code Online (Sandbox Code Playgroud)
检查区域设置是否正常工作.
$ 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=
Run Code Online (Sandbox Code Playgroud)
现在mongo也应该做得很好.
Seb*_*ber 10
要使修复永久化,您可以编辑其中一个文件:
并添加该行 LC_ALL="en_US.UTF-8"
在没有安装locale-gen(命令未找到)的debian 7上遇到同样的问题.
我这样解决了:
su
apt-get install locales
dpkg-reconfigure locales # select locales you want!
Run Code Online (Sandbox Code Playgroud)
现在mongodb应该开始了.
| 归档时间: |
|
| 查看次数: |
75535 次 |
| 最近记录: |