Windows 和 Linux 环境单机部署MongoDB

安装包下载 https://www.mongodb.com/try/download/community

本文记录的是单机部署

Windows环境MongoDB部署

1>解压安装包
建议使用4.+版本以上的安装包(zip)
2>创建文件夹和文件
2.1)在解压后的文件夹bin同级分别创建data , conf , logs 三个文件夹

2.2 在conf 文件夹下创建 mongodb.conf 文件并添加配置

mongoDB默认端口27017 建议修改,(自行决定使用端口)
如不能确保网络安全,建议指定可访问ip

systemLog:
  destination: file
  path: E:\app\mongodb-win32-x86_64-windows-4.4.18\logs\mongodb.log
  logAppend: true
storage:
  journal:
    enabled: true
  dbPath: E:\app\mongodb-win32-x86_64-windows-4.4.18\data\db
net:
  bindIp: 127.0.0.1
  port: 27020
setParameter:
  enableLocalhostAuthBypass: false

3>启动mongoDB
在bin 目录下启动命令窗口执行

 mongod --config  ..\conf\mongodb.conf

4>登录mongoDB
在bin目录下另开一个命令窗口,执行

mongo --host=127.0.0.1 --port=27020

5>创建超级管理员和test库的管理员

5.1 创建超级管理员

  show dbs
  use admin
  db.createUser({user: "root",pwd: "RootAa49%#", roles: [ { role: "root", db: "admin" } ]})
 
  db.auth("root","RootAa49%#")

5.2创建test库的管理员

   use test
   db.createUser({user: "test",pwd: "RootAa49%#", roles: [ { role: "readWrite", db: "test" } ]})

6>停止mongodb
直接关闭命令窗口即可
7>mongodb.conf开启登录验证配置
在给admin配置用户名密码前不要开启登录验证

security:
 authorization: enabled

8>重新启动mongoDB,(两种方式选一种)
8.1在命令窗口使用下面的命令,路径自行替换

mongod --dbpath=E:\app\mongodb-win32-x86_64-windows-4.4.18\data\db --bind_ip=127.0.0.1 --port=27020 --logpath=E:\app\mongodb-win32-x86_64-windows-4.4.18\logs\mongodb.log --auth&

8.2 配置mongoDB到系统服务中,根据配置文件启动

mongod --config" E:\app\mongodb-win32-x86_64-windows-4.4.18\conf\mongodb.conf" --install --serviceName "MongoDB"

然后在命令窗口执行

net start MongoDB

9>验证开启登录验证
按4>方法登录发现可以连接,在未登录的情况下无法查看dbs
只有登录之后可以查看

10>删除文件服务
sc delete MongoDB
删除之后需要执行 8.2重新创建

11>删除用户
use 库名
db.system.users.remove({user:“用户名”})

Linux环境MongoDB部署

1 上传mongodb 压缩包 到Linux服务器 /usr/etc下

2 解压tgz包 tar -zxvf mongodb-linux-x86_64-rhel70-4.4.18.tgz

3 修改解压后的文件夹名字为mongodbserver
mv mongodb-linux-x86_64-rhel70-4.4.18 mongodbserver

4 进入 mongodbserver 创建文件夹
创建数据库文件夹:mkdir -r data/db
创建日志文件夹:mkdir logs
创建配置文件夹:mkdir conf

5 进入conf下创建配置文件 mongodb.conf 配置如下:

storage:
    dbPath: "/usr/etc/mongodbserver/data/db"
    journal:
       enabled: true
systemLog:
    destination: file
    path: "/usr/etc/mongodbserver/logs/mongodb.log"
    logAppend: true
net:
    bindIp: 0.0.0.0
    port: 27020
processManagement:
    fork: true

6 启动mongodb
./mongod -f /usr/etc/mongodbserver/conf/mongodb.conf

7 启动成功登录mongodb
./mongo --host=127.0.0.1 --port=27020
创建超级管理员和管理员(命令和Windows的一样)

8 停止mongodb
./mongod -shutdown -dbpath=/usr/etc/mongodbserver/data/db/

9 修改配置文件,添加登录验证

security:
    authorization: enabled

10 重启mongodb

11 设置开机自启动
先停止mongodb
然后添加MongoDB系统服务,命令如下:vim /etc/rc.d/init.d/mongod
打开编辑器后,我们将下面的配置粘贴进去,然后保存

start() {
/usr/etc/mongodbserver/bin/mongod --config /usr/etc/mongodbserver/etc/mongodb.conf
}
stop() {
/usr/etc/mongodbserver/bin/mongod --config /usr/etc/mongodbserver/etc/mongodb.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo
$"Usage: $0 {start|stop|restart}"
exit 1
esac

保存完成之后,添加脚本执行权限,命令如下:chmod +x /etc/rc.d/init.d/mongod

启动MongoDB, service mongod start
停止MongoDB, service mongod stop
重启MongoDB, service mongod restart

常见问题

com.mongodb.MongoSecurityException: Exception authenticating MongoCredential

比如,mongoDB下有一个数据库 A ,我们连接用的用户test 是 数据库 admin 中的用户就会报这个错误,我们只需要在 A 下创建用户然后连接就行了.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值