我在Hyper-V上运行CentOS 6.7,这意味着我无法进行就地升级到7.0。 今天我做了一个服务器重新启动,并在最后一次重新启动和今天我的MongoDB安装升级到最新版本(3.0.6)之间的一段时间。 我不知道是谁进行了更新,但是现在需要一些当前版本的CentOS不能支持的库,如下所示:
$ sudo bin/mongod --storageEngine wiredTiger --dbPath=/media/DataExt/mongodb-wiredtiger-data/ bin/mongod: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by bin/mongod) bin/mongod: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by bin/mongod) bin/mongod: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.18' not found (required by bin/mongod) bin/mongod: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by bin/mongod) bin/mongod: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by bin/mongod)
我尝试使用sudo yum downgrade …命令将所有模块(mongodb-org-server)都设置为3.0.5(然后是3.0.4,然后一直到3.0.0) ,mongodb-org-mongos,mongodb-org-shell和mongodb-org-tools),当我尝试启动mongod时,我仍然得到相同的错误。
还有什么我必须做的让MongoDB与我的C和C + +库工作? 我能支持的这个版本的操作系统的最大值是GLIBCXX_3.4.13,GLIBC_3.4.13和CXXABI_1.3.3。
启动一个新的虚拟机并安装正确版本的MongoDB及其依赖项。 然后将数据从旧机器复制到新机器。
如果你不知道它是如何升级的,那么在旧系统上查看/var/log/yum.log来查看它发生的时间。 然后看看所有的系统cron工作,吸烟枪将是yumcron。
你显然可以禁用yumcron,或者你可以编辑/etc/yum.conf来排除某些软件包。