mongodb的安装和使用

centos6上安装mongodb:

1,系统准备:centos6.7,64位,4g内存,修改打开文件限制

[root@localhost bin]# cat /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     65535   # 然来这里是1024,现在改成65535
root       soft    nproc     unlimited

2,下载mongodb的软件:

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

3,解压:

tar fx /mongodb-linux-x86_64-3.0.6.tgz
mv /mongodb-linux-x86_64-3.0.6 /usr/local/mongodb

4,配置环境变量:

export PATH=/usr/local/mongodb/bin:$PATH
echo "export PATH=/usr/local/mongodb/bin:$PATH" >>/etc/profile
source /etc/profile

5,创建默认位置的数据库目录:

mkdir -p /data/db

6,启动数据库:

cd /usr/local/mongodb/bin/
./mongod

mongodb的安装和使用

补充:指定监听地址和端口的启动:./mongod --bind_ip 192.168.13.167,此时的本身shell后台接入:./mongo 192.168.13.167:27017,其他机器访问的方法:

保持当前窗口不要暂停和关闭,另外再开一个终端:

[root@localhost bin]# netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1148/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1047/master         
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      1391/./mongod       
tcp        0      0 :::22                       :::*                        LISTEN      1148/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      1047/master         

7,mongodb的后台管理shell,另外再启用一个shell窗口进行验证:

[root@localhost ~]# cd /usr/local/mongodb/bin/
[root@localhost bin]# ./mongo
...
> 2+2
4
> 3+9
12
> db.runoob.insert({x:10})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("5b23ed046cac643e3b16f444"), "x" : 10 }
> 

8,mongodb的web页面:
MongoDB 提供了简单的 HTTP 用户界面。 如果你想启用该功能,需要在启动的时候指定参数 --rest 。
注意:该功能只适用于 MongoDB 3.2 及之前的早期版本。
$ ./mongod --dbpath=/data/db --rest
MongoDB 的 Web 界面访问端口比服务的端口多1000。
如果你的MongoDB运行端口使用默认的27017,你可以在端口号为28017访问web用户界面,即地址为:http://localhost:28017

[root@localhost bin]# ./mongod --dbpath=/data/db --rest
[root@localhost mnt]# netstat -plnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN      2018/./mongod       
tcp        0      0 0.0.0.0:28017               0.0.0.0:*                   LISTEN      2018/./mongod       
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1503/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      1582/master         
tcp        0      0 :::22                       :::*                        LISTEN      1503/sshd           
tcp        0      0 ::1:25                      :::*                        LISTEN      1582/master  
# 此时就会出现28017的监听端口  

此时就可以通过web端:ip:端口 的形式来进行访问了

mongodb的安装和使用

 补充:mongodb的配置文件

cat 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 

#使用&后台启动

/usr/local/mongodb/bin/mongod  -port 10001 --dbpath /data/mongodb/ --logpath /var/mongodb/mongodb.log &

关闭方法
方法一:shell命令行运行:pkill mongod
方法二:优雅的关闭mongodb程序,要求启动的时候:监听的时候必需加上127.0.0.1

cd /usr/local/mongodb/bin
./mongod --bind_ip 127.0.0.1,192.168.13.167    
[root@localhost bin]# netstat -plnt
tcp        0      0 192.168.13.167:27017        0.0.0.0:*                   LISTEN      8080/./mongod       
tcp        0      0 127.0.0.1:27017             0.0.0.0:*                   LISTEN      8080/./mongod       

# 进入mongodb的shell命令行:
./mongo
>use admin
>db.shutdownServer()

mongod进程收到SIGINT信号或者SIGTERM信号,会做一些处理

> 关闭所有打开的连接

> 将内存数据强制刷新到磁盘

> 当前的操作执行完毕

> 安全停止

  切忌  kill -9   数据库直接关闭,数据丢失,数据文件损失,修复数据库(成本高,有风险)

新建数据库和切换数据库操作,新建一个db2的数据库

>use db2    # use 后接数据库名,该数据库存在就切换进去,不存在就创建这个数据库
switched to db db2    # 新建后并且切换到db2数据库
# 查看当前数据库
>db
db2
> show dbs
admin  0.078GB
local  0.078GB

创建的数据库(db2)不在列表中。要显示数据库,需要至少插入一个文档,空的数据库是不显示出来的。

>db.items.insert({"name":"yiibai tutorials"})
>show dbs
local     0.00005GB
test      0.00002GB
db2      0.00002GB

在 MongoDB 中默认数据库是:test。 如果您还没有创建过任何数据库,则集合/文档将存储在test数据库中