0

我从一位已离职的开发人员那里继承了一个项目。

我正在尝试升级我们当前使用的 mongo 实例。不幸的是,运行时出现mongod此错误:

Mon May 18 13:25:39.475 [initandlisten] ERROR: listen(): bind() failed errno:98 Address already in use for socket: 0.0.0.0:27017 Mon May 18 13:25:39.475 [initandlisten] ERROR: addr already in use Mon May 18 13:25:39.475 [initandlisten] now exiting

那是因为我当前正在使用的 mongo 实例由服务器上创建的另一个用户控制mongodb。此外,当我尝试查看配置文件以及实例使用的所有目录和文件时,它们也由 控制mongodb,这是一个ls-la输出:

drwxr-xr-x 2 mongodb nogroup 4096 May 18 10:32 journal

这可能是出于安全目的而完成的,我可以保持这种状态。

我想知道的是:

  • 如何将自己切换为mongodb用户(已经尝试sudo su mongodb但没有成功
  • 或者如何从我当前的 root 用户升级 mongo 实例?

谢谢

4

1 回答 1

0

问题与此无关。我没有正确升级。这是运行您自己的代码的代码:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10 echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list sudo apt-get update sudo apt-get install -y mongodb-org cd /var/lib/mongodb/ sudo rm mongod.lock cd / sudo mkdir data cd data/ sudo mkdir db sudo service mongodb restart

运行这个,你也可以更新/访问你的 mongo

于 2015-05-19T21:56:46.860 回答