当前位置:   article > 正文

ubuntu 安装MongoDB_ubuntu安装mongodb3.6.12

ubuntu安装mongodb3.6.12

后期备注1: ubuntu 18下安装 mongodb 3.6参考链接Install MongoDB On Ubuntu 18.04 LTS Server

1. 安装 MongoDB 社区版

MongoDB 提供的包只支持 64 位长期支持版本的 Ubuntu 发行版。比如 Ubuntu 12.04 LTS (precise), 14.04 LTS (trusty), 16.04 LTS (xenial) 等等。这些包可能在其他发行版上也能工作,但是并未被支持。

1.1 导入包管理系统使用的公钥

Ubuntu 的软件包管理工具(即dpkg和APT)要求软件包的发布者通过GPG密钥签名来确保软件包的一致性和真实性。通过以下命令导入MongoDB公共GPG密钥:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

根据 Ubuntu 的版本使用适当的命令创建 list file: /etc/apt/sources.list.d/mongodb-org-3.4.list为 MongoDB 创建 list file

Ubuntu 12.04

echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

Ubuntu 14.04

echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

Ubuntu 16.04

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

1.2. 重新下载本地包数据库索引

sudo apt-get update

1.3. 通过以下命令安装最新的可靠版安装 MongoDB

sudo apt-get install -y mongodb-org

2. 运行 MongoDB 社区版

默认情况下, MongoDB 实例的数据文件位于 /var/lib/mongodb,日志文件位于 /var/log/mongodb,并且通过用户 mongodb 来运行。你可以在配置文件 /etc/mongod.conf指定不同的日志文件和数据文件目录,其对应的配置为:systemLog.path 和 storage.dbPath 。配置中的net.bindIp 默认是127.0.0.1,这样只能本地连接,可以指定成服务器的对外IP或者干脆设置为0.0.0.0。

如果你更改了运行 MongoDB 进程的用户,必须修改 /var/lib/mongodb 和 /var/log/mongodb 的访问权限来让用户能访问这些目录。

2.1 启动 MongoDB

按照官方文档,执行如下命令可以启动 mongod 进程

  1. sudo service mongod start
  2. # 或者
  3. sudo systemctl start mongod

实际上我操作过程中是没有成功使用以上命令启动成功的,我是通过手动添加系统服务来实现服务的启动的。

步骤如下:

  • 进入 /etc/init.d
  • 建立一个脚本mongodb文件,内容如下并赋予755权限chmod 775 mongodb
  1. #!/bin/bash
  2. ### BEGIN INIT INFO
  3. # Provides: mongod
  4. # Required-Start: $remote_fs $syslog
  5. # Required-Stop: $remote_fs $syslog
  6. # Default-Start: 2 3 4 5
  7. # Default-Stop: 0 1 6
  8. # Short-Description: Start mongod at boot time
  9. # Description: Enable service provided by mongod.
  10. ### END INIT INFO
  11. start()
  12. {
  13. /usr/bin/mongod --config /etc/mongod.conf &
  14. exit 0;
  15. }
  16. stop()
  17. {
  18. /usr/bin/mongod --config /etc/mongod.conf --shutdown
  19. }
  20. case "$1" in
  21. start)
  22. start
  23. ;;
  24. stop)
  25. stop
  26. ;;
  27. restart)
  28. stop
  29. start
  30. ;;
  31. *)
  32. echo "Usage: $0 {start|stop|restart}"
  33. exit 0
  34. ;;
  35. esac
  36. exit 0
  • 加入到系统启动中
  1. // 添加到系统启动
  2. update-rc.d mongodb defaults
  3. // 从系统启动中删除
  4. update-rc.d mongodb remove
  • 启动命令
  1. service mongodb start
  2. service mongodb stop

注意

  • 不要将脚本名称和已有的命令重名(刚开始使用的mongod,和mongodb server启动命令名称一样导致一直不成功)
  • 启动方式和标准启动方式不一样,最后留下文档,方便其他人维护

3. MongoDB使用

MongoDB默认是没有设置鉴权的,业界大部分使用MongoDB的项目也没有设置访问权限。这就意味着只要知道MongoDB服务器的端口,任何能访问到这台服务器的人都可以查询和操作MongoDB数据库的内容。在一些项目当中,这种使用方式会被看成是一种安全漏洞。

3.1. 第一次进入mongodb

可以使用MongoDB shell 来连接 MongoDB 服务器。

标准 URI 连接语法:

  1. mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
  2. mongodb:// 这是固定的格式,必须要指定。
  3. username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
  4. host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
  5. portX 可选的指定端口,如果不填,默认为27017
  6. /database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开admin数据库。
  7. ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开

使用shell的方式连接:

  1. $ mongo
  2. MongoDB shell version v3.4.2
  3. connecting to: mongodb://127.0.0.1:27017
  4. MongoDB server version: 3.4.2
  5. Server has startup warnings:
  6. 2016-08-31T22:13:06.344+0800 I STORAGE [initandlisten]
  7. 2016-08-31T22:13:06.344+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
  8. 2016-08-31T22:13:06.344+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
  9. 2016-08-31T22:13:06.571+0800 I CONTROL [initandlisten]
  10. 2016-08-31T22:13:06.571+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
  11. 2016-08-31T22:13:06.571+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
  12. 2016-08-31T22:13:06.571+0800 I CONTROL [initandlisten]
  13. > show databases;show databases; #查看数据库
  14. admin 0.000GB
  15. local 0.000GB
  16. >use admin #切换数据库
  17. >switched to db admin

如下这种方式也可以

  1. $ mongo mongodb://127.0.0.1:27017
  2. MongoDB shell version v3.4.2
  3. connecting to: mongodb://127.0.0.1:27017
  4. MongoDB server version: 3.4.2
  5. Server has startup warnings:
  6. 2016-09-02T21:07:29.630+0800 I STORAGE [initandlisten]
  7. 2016-09-02T21:07:29.630+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
  8. 2016-09-02T21:07:29.630+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
  9. 2016-09-02T21:07:29.978+0800 I CONTROL [initandlisten]
  10. 2016-09-02T21:07:29.978+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
  11. 2016-09-02T21:07:29.978+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
  12. 2016-09-02T21:07:29.978+0800 I CONTROL [initandlisten]
  13. >

开启MongoDB的web界面访问
MongoDB自带一个微型的web管理信息界面,需要修改/etc/mongod.conf中的一个配置项:

  1. net:
  2.   port: 27017
  3.   bindIp: 10.0.90.24 
  4.   http:
  5.    enabled: true                  #设置为true
  6.    RESTInterfaceEnabled: false    #设置为false

注:如果bindIp为127.0.0.1,只能在本机使用curl查看,无法

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/891226
推荐阅读
相关标签
  

闽ICP备14008679号