MongoDB 安装及启动

    xiaoxiao2021-03-25  96

    一 配置及安装

    1、下载

     地址:https://www.mongodb.com/download-center

    2、解压并配置

       mongod没有参数的情况下会使用默认数据目录/data/db(Windows为C:\data\db),若目录不存在或者不  可写,服务会启动失败。  MongoDB默认端口为27017

    二 启动

    1、前台启动

     1)linux   运行mongod命令启动数据库服务器

    ./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021 //启动绑定固定的IP地址、端口

      注:也可以不加端口和ip,服务会使用默认的端口27017,并且可以直接使用./mongo连上本机的      mongoddb,一般用于临时的开发测试  2)windows   执行mongod.exe

    2、daemon方式运行

     1)命令后加”&”

    ./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021 &

     2)使用mongo字典的–fork参数

    ./mongod --dbpath /path/mongodb --bind_ip 10.10.10.10 --port 27021 --fork=true --logpath=/path/mongod.log

    3、用配置文件启动

     mongo.conf

    port=27018 //绑定的端口 bind_ip=10.10.10.10 //绑定的ip,可绑定多个用","分开 dbpath=/data/db //mongodb数据文件存储路径 logpath=/data/db/mongod.log //mongod的日志路径 pidfilepath=/data/db/mongod.pid logappend=true //日志使用追加代替覆盖 fork=true ./mongod -f ../conf/mongo.conf

     注:后台运行时如果需要优雅的关闭mongo进程,需要在bind_ip中增加127.0.0.1

    4、启动参数详解

     dbpath:mongodb的数据文件存储路径  logpath:mongodb的日志路径  logappend:日志使用最佳代替覆盖,boolean值  bind_ip:绑定的IP  port:绑定的端口  journal:write操作首先写入”日志”,是一个数据安全的设置

    5、启动警告:WARNING: soft rlimits too low

     1)内容

    MongoDB shell version: 3.2.11 connecting to: test Server has startup warnings: 2017-05-09T12:34:19.688-0700 I CONTROL [initandlisten] 2017-05-09T12:34:19.688-0700 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 1024 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.

      mongodb当前限制:1024 processes, 64000 files   mongodb建议要求:processes = 0.5*files=32000(至少)   所以需要将 processes 从1024 改为 32000 或更大.  2)解决方法   方法一    修改配置文件 /etc/security/limits.d/90-nproc.conf    [root@localhost ~]# vi /etc/security/limits.d/90-nproc.conf

    * soft nproc 1024 改为: * soft nproc 65536

      方法二    修改配置文件 /etc/security/limits.conf,添加配置信息:    [root@localhost ~]# vi /etc/security/limits.conf

    mongod soft nofile 65536 mongod hard nofile 65536 mongod soft nproc 65536 mongod hard nproc 65536

      修改配置文件然后重启 mongod 服务 3)mongoDB推荐配置

    -f (file size): unlimited -t (cpu time): unlimited -v (virtual memory): unlimited -n (open files): 64000 -m (memory size): unlimited -u (processes/threads): 64000

    三 Mongo Shell

    MongoDB自带JavaScript shell,是一个功能完备的JavaScript解释器

    1、进入本地shell

     1)linux   新起一个进程,./mongo命令

    ./mongo [--host] 10.10.10.10:27018

     2)windows   在mongo bin目录执行mongo命令

    2、帮助文档

     1)查看shell内置的帮助文档

    > help

     2)查看数据库级别的帮助文档

    > db.help()

     3)查看集合级别的帮助文档

    > db.foo.help()

     4)查看响应函数的JavaScript实现代码   直接在shell输入函数名(函数名后不要输入小括号)

    > db.foo.update

     5)查看复制集相关的帮助文档

    > rs.help()

     6)查看集群级别的帮助文档

    > sh.help()

    3、使用shell执行脚本

     mongo shell会依次执行传入的脚本,然后退出  1)使用本地mongod

    mongo script1.js script2.js script3.js

     2)使用指定的主机/端口上的mongod运行脚本

    mongo --quiet server-1:30000/foo script1.js script2.js

     3)使用load()函数,从交互式shell中运行脚本

    >load("script1.js")

     在脚本中可以访问db变量,以及其他全局变量。shell辅助函数不可以在文件中使用

    4、mongorc.js文件

     如果某些脚本会被频繁加载,可以将它们添加到mongorc.js文件中。这个文件会在启动shell时自动运行。

    //禁止删除数据库 db.dropDatabase = DB.prototype.dropDatabase = no;

       改变数据库函数时,要确保同时对db变量和DB原型进行改变,如果只改变了其中一个,那么db变量可能没  有改变,或者这些改变在新使用的所有数据库中都不会生效。

    四 常用命令

    1、连接远程数据库

    conn = new Mongo("some-host:port") db = conn.getDB("");

    db为全全局变量,是一个数据库连接,这个变量是通过shell访问MongoDB的主要入口点

    2、辅助函数及对应JavaScript函数

    use dbname db.getSisterDB("dbname") 切换当前DB show dbs db.getMongo().getDBs() 列出所有DB show collections|show tables db.getCollectionNames() 列出当前DB的所有集合 show logs 列出运行日志 show profile 列出当前DB的所有慢查询 show users 列出当前DB的所有用户

    3、格式化输出查询结果

    > db.users.find().pretty()

    五 关闭mongoDB

    1、前台运行

     默认的情况下,关闭shell,mongodb就停止运行了。

    2、后台运行

    > use admin; > db.shutdownServer();

     注:此命令值允许在本地,或是一个经过认证的客户端。

    3、关闭主从式的复制集群

       检查从Mongodb的数据更新时间,如果所有的从MOngodb和主的时间差都超过10,这个时候不会关闭  mongodb(可以通过配置timeoutSecs的方式来让从Mongodb完成数据的更新),如果其中有一个Mongodb  与主服务时间差在10s内,那么主服务器会关闭,并且等待从Mongodb更新完成并关闭

    4、强制关闭服务

    db.adminCommand({shutdown:1,force:true})|db.shutdownServer({force:true})

    5、指定特定超时时间的关闭服务器

    db.shutdownServer({force:true,timeoutsec:5})

    六 可视化工具

    1、MongoChef

     下载地址:http://3t.io/mongochef/download/core/platform/

    2、NoSQL Manager for MongoDB Professional

     下载地址:https://www.mongodbmanager.com/download

    转载请注明原文地址: https://ju.6miu.com/read-12779.html

    最新回复(0)