Mongodb 安装部署
【摘要】 一 yum安装 1.1 配置yum源cat >/etc/yum.repos.d/mongodb-enterprise.repo<<EOF[mongodb-enterprise]name=MongoDB Enterprise Repositorybaseurl=https://repo.mongodb.com/yum/redhat/\$releasever/mongodb-enterpris...
一 yum安装
1.1 配置yum源
cat >/etc/yum.repos.d/mongodb-enterprise.repo<<EOF
[mongodb-enterprise]
name=MongoDB Enterprise Repository
baseurl=https://repo.mongodb.com/yum/redhat/\$releasever/mongodb-enterprise/4.2/\$basearch/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
EOF
yum clean all
yum makecache
1.2 安装mongodb
# 安装
sudo yum install -y mongodb-enterprise
# 指定版本安装
二 源码安装
2.1 预安装软件
yum install cyrus-sasl cyrus-sasl-gssapi cyrus-sasl-plain krb5-libs libcurl libpcap lm_sensors-libs net-snmp net-snmp-agent-libs openldap openssl rpm-libs tcp_wrappers-libs
2.2 下载源码
# 访问https://www.mongodb.com/download-center?jmp=docs#enterprise,下载源码包
https://www.mongodb.com/download-center?jmp=docs#enterprise
2.3 解压
tar -zxvf mongodb-linux-*-4.2.0.tgz
三 使用
3.1 登录
sudo echo "never" > /sys/kernel/mm/transparent_hugepage/enabled
sudo echo "never" > /sys/kernel/mm/transparent_hugepage/defrag
# 启动服务
systemctl start mongod
#
mongo --username alice --password --authenticationDatabase admin --host mongodb0.examples.com --port 28015
mongo "mongodb://alice@mongodb0.examples.com:28015/?authSource=admin"
3.2 安全
# 配置文件启用安全/etc/mongod.conf
security:
authorization: enabled
# 登录mongod
mongo
# 切到admin库
use admin
# 创建root用户
db.createUser(
{
user: "superuser",
pwd: "mongodbadmin",
roles: [ "root" ]
}
)
# 查询用户
show users
# 通过shell关闭mongod服务
db.shutdownServer()
exit
# 重启mongod服务
show users // 查看当前库下的用户
db.dropUser('testadmin') // 删除用户
db.updateUser('admin', {pwd: '654321'}) // 修改用户密码
db.auth('admin', '654321') // 密码认证
3.3 数据库默认角色
- 数据库用户角色:read、readWrite
- 数据库管理角色:dbAdmin、dbOwner、userAdmin
- 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
- 备份恢复角色:backup、restore
- 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、
dbAdminAnyDatabase - 超级用户角色:root
四 GRUD
4.1 Create
如果插入的目标集合不存在,则自动创建改集合
db.collection.insertOne() New in version 3.2
db.collection.insertMany() New in version 3.2
![image-20190920131616600](/Users/xuel/Library/Application Support/typora-user-images/image-20190920131616600.png)
# 插入单条文档
db.stu.insertOne({
"_id":0,
"name":"xuelei",
"age":33,
"tag":["xuel"],
"size":{
"h":33,
"w":22
}
})
# 插入复合文档,将多重文档转换成列表插入
db.stu.insertMany([
{_id:0,name: "test0",age: 22},
{_id:1,name: "test1",age:33},
{_id:2,name: "test2",age:44,tags:["xuel"]}
])
4.2 Read
从集合中检索文档
db.collection.find()
![image-20190920132410584](/Users/xuel/Library/Application Support/typora-user-images/image-20190920132410584.png)
4.3 Update
db.collection.updateOne(<filter>, <update>, <options>)
db.collection.updateMany(<filter>, <update>, <options>)
db.collection.replaceOne(<filter>, <update>, <options>)
4.4 Delete
db.collection.deleteMany()
db.collection.deleteOne()
# 删除所有文档
db.inventory.deleteMany({})
参考链接
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)