centos php mongo,Centos下mongodb的安装与配置

安装MongoDB的方法有很多种,可以源代码安装,在Centos也可以用yum源安装的方法。

1、准备工作

运行yum命令查看MongoDB的包信息(正常是没有信息提示的,我这里已经按安装好了)

[root@localhost~]# yum info mongodb-org

Loaded plugins: fastestmirror

Loading mirror speeds from cached hostfile

Installed Packages

Name : mongodb-org

Arch : x86_64

Version : 3.4.10

Release : 1.el6

Size : 0.0

Repo : installed

From repo : mongodb-org-3.4

Summary : MongoDB open source document-oriented database system (metapackage)

URL : http://www.mongodb.org

License : AGPL 3.0

Description : MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures. By leveraging in-memory

: computing, MongoDB provides high performance for both reads and writes. MongoDB’s native replication and automated failover enable enterprise-grade reliability and operational

: flexibility.

:

: MongoDB is an open-source database used by companies of all sizes, across all industries and for a wide variety of applications. It is an agile database that allows schemas to

: change quickly as applications evolve, while still providing the functionality developers expect from traditional databases, such as secondary indexes, a full query language

: and strict consistency.

:

: MongoDB has a rich client ecosystem including hadoop integration, officially supported drivers for 10 programming languages and environments, as well as 40 drivers supported

: by the user community.

:

: MongoDB features:

: * JSON Data Model with Dynamic Schemas

: * Auto-Sharding for Horizontal Scalability

: * Built-In Replication for High Availability

: * Rich Secondary Indexes, including geospatial

: * TTL indexes

: * Text Search

: * Aggregation Framework & Native MapReduce

:

: This metapackage will install the mongo shell, import/export tools, other client utilities, server software, default configuration, and init.d scripts.

(如果没有提示相关匹配的信息,) 说明你的centos系统中的yum源不包含MongoDB的相关资源,

2、增加源

vim /etc/yum.repos.d/mongodb-3.4.repo

输入下面的语句:

[mongodb-org-3.4]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

3、安装

yum install -y mongodb-org

4、启动Mongodb

service mongod start

以后有更新了执行yum updatemongodb-org 即可。

5、服务器配置

# mongod.conf

#where to log

logpath=/data/logs/mongodb/mongod.log

logappend=true #以追加方式写入日志

# fork and run in background

fork=true

#port=27017

dbpath=/data/mongo #数据库文件保存位置

# location of pidfile

pidfilepath=/var/run/mongodb/mongod.pid

# Listen to local interface only. Comment out to listen on all interfaces.

bind_ip=10.81.85.229

# Disables write-ahead journaling

# nojournal=true

#启用定期记录CPU利用率和 I/O 等待

# Enables periodic logging of CPU utilization and I/O wait

#cpu=true

# 是否以安全认证方式运行,默认是不认证的非安全方式

# Turn on/off security. Off is currently the default

#noauth=true

auth=true

# Verbose logging output.

#verbose=true

# Inspect all client data for validity on receipt (useful for

# developing drivers)

#objcheck=true

# Enable db quota management 启用数据库配额管理,默认每个db可以有8个文件,可以用quotaFiles参数设置

#quota=true

# Set oplogging level where n is

# 0=off (default)

# 1=W

# 2=R

# 3=both

# 7=W+some reads

#diaglog=0

# Ignore query hints

#nohints=true

# Enable the HTTP interface (Defaults to port 28017).

#httpinterface=true

# Turns off server-side scripting. This will result in greatly limited

# functionality

#noscripting=true

# Turns off table scans. Any query that would do a table scan fails.

#notablescan=true

# Disable data file preallocation.

#noprealloc=true

# Specify .ns file size for new databases.

# nssize=

# Replication Options

# in replicated mongo databases, specify the replica set name here

#replSet=setname

# maximum size in megabytes for replication operation log

#oplogSize=1024

# path to a key file storing authentication info for connections

# between replica set members

#keyFile=/path/to/keyfile

配置授权登录

> use admin

> db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})

登录数据库

mongo 127.0.0.1:27017/admin -u root -p

查询

> db.comlogs.find().count()

326466

PHP测试代码

$mongo = new Mongo("mongodb://root:123456@127.0.0.1:27017/admin"); //认证用户,这里的数据库,只启认证作用

$db = $mongo->selectDB(‘admin‘); //选取数据库

$users= $db->selectCollection("test");

$cursor = $users->find();

foreach ($cursor as $id => $value) {

echo "$id: "; print_r($value); echo "
";

}

$document = array(

"title" => "MongoDB",

"description" => "database",

"likes" => 100,

"url" => "http://www.cnblogs.com/chenpingzhao"

);

$users->insert($document);

6、mongodb角色

内置角色

数据库用户角色:read、readWrite;

数据库管理角色:dbAdmin、dbOwner、userAdmin;

集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

备份恢复角色:backup、restore;

所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

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

内部角色:__system

具体角色

read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值