mongodb服务安装

 参考:

https://docs.mongodb.com/manual/ (官方文档)

安装mongodb

#创建服务安装目录
mkdir -p /usr/local/server
cd /usr/local/server

#下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.2.tgz
#解压,解压完就安装完成了
tar -zxvf mongodb-linux-x86_64-rhel70-4.4.2.tgz

#设置环境变量,编辑
vim /etc/profile
#添加下一下配置:
export PATH=/usr/local/service/mongodb-linux-x86_64-rhel70-4.4.2/bin:$PATH

#创建数据存储目录和日志目录
sudo mkdir -p /var/lib/mongodb
sudo mkdir -p /var/log/mongodb
sudo chown `whoami` /var/lib/mongodb     # 设置权限
sudo chown `whoami` /var/log/mongodb   # 设置权限

#开启服务
mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb/mongod.log --fork

#命令行连接mongod服务
mongo --username superuser --password changeMeToAStrongPassword 

#关闭服务
use admin
db.shutdownServer()

服务配置

参考:

https://blog.csdn.net/zhanaolu4821/article/details/87614708

#创建配置文件
vim /etc/mongod.conf

#主要配置

dbpath=/usr/local/mongodb304/data
#数据库日志存放目录
logpath=/usr/local/mongodb304/logs/mongodb.log 
#以追加的方式记录日志
logappend = true
#端口号 默认为27017
port=27017 
#以后台方式运行进程
fork=true 
 #开启用户认证
auth=true
#关闭http接口,默认关闭http端口访问
nohttpinterface=true
#mongodb所绑定的ip地址
bind_ip = 127.0.0.1 
#启用日志文件,默认启用
journal=true 
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false

quiet=true 

#按配置文件启动服务
mongod --config /etc/mongod.conf

设置用户权限

参考:

https://www.cnblogs.com/dbabd/p/10811523.html

MongoDB基本的角色

1.数据库用户角色:read、readWrite;
2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4.备份恢复角色:backup、restore;
5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6.超级用户角色:root 

这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

其中MongoDB默认是没有开启用户认证的,也就是说游客也拥有超级管理员的权限。userAdminAnyDatabase:有分配角色和用户的权限,但没有查写的权限

use admin
db.createUser({user:"root",pwd:"password",roles:["root"]})
#
db.createUser(  
  {  
    user: "admin",  
    pwd: "password",  
    roles: [{role: "userAdminAnyDatabase", db: "admin"}]  
  }  
)
#修改用户密码
db.updateUser( "admin",{pwd:"password"});

#如果设置了开启auth,则需要使用账号密码登录,否则连上不能操作

#删除用户
db.system.users.remove({user:"football"});#需要root权限,会将所有数据库中的football用户删除
db.dropUser("football");#权限要求没有那么高,只删除本数据中的football用户

客户端连接

mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
mongodb://这是固定的格式,必须要指定。
username:password@这是可选的. 如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库。
host1是这个URI唯一要填写的。它指定了要连接服务器的地址。
:portX可选的指定端口,如果不填,默认为27017 。
/database是要连接数据库的名称 ,这个参数和username:password@有关联。.如果没有指定,默认的数据库为admin。
?options 是连接参数. 要注意的是,如果database不填写,也要保留符号"/""?"。参数格式是name=value。如果填写多个分隔符为"&"或者";"

php的mongodb扩展

详细接口查询php手册

use MongoDBBSONObjectID;
use MongoDBDriverBulkWrite;
use MongoDBDriverCommand;
use MongoDBDriverCursor;
use MongoDBDriverExceptionAuthenticationException;
use MongoDBDriverExceptionBulkWriteException;
use MongoDBDriverExceptionConnectionException;
use MongoDBDriverExceptionInvalidArgumentException;
use MongoDBDriverExceptionRuntimeException;
use MongoDBDriverManager;
use MongoDBDriverQuery as MongoQuery;
use MongoDBDriverReadPreference;
use MongoDBDriverWriteConcern;
原文地址:https://www.cnblogs.com/tkzc2013/p/14249071.html