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
补充:指定监听地址和端口的启动:./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的配置文件
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数据库中