mongodb配置文件_ubuntu16.04通过apt-get方式安装MongoDB(备忘)

67d34c261408f97f44c415bd1947b46d.png

mongodb

1.导入包管理系统使用的公钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

2.为MongoDB创建一个列表文件

根据版本创建/etc/apt/sources.list.d/mongodb-org-3.4.list 列表文件

如果是Ubuntu 14.04,那么执行:

echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

如果是Ubuntu 16.04,那么执行:

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

3.更新本地包数据库

sudo apt-get update

4.安装最新版本的MongoDB

sudo apt-get install -y mongodb-org

5,查找mongod配置文件

配置内容如下:

# mongod.conf

# for documentation of all options, see:

# http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.

storage:

dbPath: /root/mongo_data/data/

journal:

enabled: true

# engine:

# mmapv1:

# wiredTiger:

# where to write logging data.

systemLog:

destination: file

logAppend: true

path: /root/mongo_data/log/mongod.log

# network interfaces

net:

port: 27000

bindIp: 0.0.0.0

# how the process runs

#processManagement:

# timeZoneInfo: /usr/share/zoneinfo

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:

配置文件配置好之后,启动mongod

/usr/bin/mongod --config /etc/mongod.conf --fork --auth

第一次的时候,不需要--auth

遇到的问题:

child process failed ,exited with error number 100

出现原因是mongd配置文件中的数据路径和日至路径没有创建导致

mongo 127.0.0.1:27000

mongo 进入数据库,开始创建用户以及数据库

添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase),

use admin

db.createUser( {user: "admin",pwd: "NR6YCNQwN7GPk",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

添加完管理用户后,关闭MongoDB

use admin

db.shutdownServer()

并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭

进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。

> use admin

> db.auth("admin","QWESAD") #认证,返回1表示成功

验证之后还是做不了操作,因为admin只有用户管理权限,下面创建用户,用户都跟着库走,

use data

db.createUser({user: "data",pwd: "QWESAD",roles: [{ role: "dbOwner", db: "data" }]})

use manage

db.createUser({user: "manage",pwd: "QWESAD",roles: [{ role: "readWrite", db: "manage" }]})

use grid

db.createUser({user: "grid",pwd: "NR6YCNQwN7GPk",roles: [{ role: "readWrite", db: "grid" }]})

到这里mongodb 安装结束

思考:

首先使用admin用户授权登陆,为什么用admin登陆呢?因为admin的角色是userAdminAnyDatabase,意思是对任意数据库的用户具有管理权限,我们要提升data数据库的权限,就必须要修改该数据库的用户角色,而admin恰好具备这样的权限,这就是原因.

db.updateUser("data",{roles: [{ role: "dbOwner", db: "data" }]})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为什么会这样[user_mongo@nosql01 replicaset]$ cd /opt [user_mongo@nosql01 opt]$ ll total 0 drwxr-xr-x. 3 root root 25 Mar 16 17:08 servers drwxr-xr-x. 2 root root 51 Mar 16 17:10 software [user_mongo@nosql01 opt]$ tar -zxvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/LICENSE-Community.txt: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/MPL-2 tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/MPL-2: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/README tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/README: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/THIRD-PARTY-NOTICES: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/install_compass: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongo: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongod: Cannot open: No such file or directory mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos tar: mongodb-linux-x86_64-rhel70-4.4.12: Cannot mkdir: Permission denied tar: mongodb-linux-x86_64-rhel70-4.4.12/bin/mongos: Cannot open: No such file or directory tar: Exiting with failure status due to previous errors [user_mongo@nosql01 opt]$ tar -zcvf /opt/software/mongodb-linux-x86_64-rhel70-4.4.12.tgz -C /opt/servers/mongodb_demo/replicaset/ tar: Cowardly refusing to create an empty archive Try `tar --help' or `tar --usage' for more information.
06-01

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值