MongoDB学习 - 安装部署
1. docker 启动
拉取镜像 docker pull mongo:latest
指定目录启动 docker run -d -p 27017:27017 --name mongo \
-v /home/mongodb/data/mongodb:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admindev123$%^ mongo:latest
2. 安装包安装
2.1官方下载地址 https://www.mongodb.com/download-center/community
上传服务器解压 tar -zxvf ************.tgz
移到到指定目录,自己看情况 /usr/local/mongodb
2.2 配置conf与目录
cd /usr/local/mongodb
创建db目录和日志文件
mkdir /data/db /logs
touch /logs/mongodb.log
创建mongodb.conf 文件
vi mongodb.conf
#端口号
port=27017
#db目录
dbpath=/usr/local/mongodb/data/db
#日志目录
logpath=//usr/local/mongodb/logs/mongodb.log
#后台
fork=true
#日志输出
logappend=true
#允许远程IP连接
bind_ip=0.0.0.0
2.3 启动
./bin/mongod --config mongodb.conf
连接
./bin/mongo
测试一下
2.4 配置开机自启动
cd /lib/systemd/system
vi mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
然后设置mongodb.service权限
chmod +x mongodb.service
#启动服务
systemctl start mongodb.service
#停止服务
systemctl stop mongodb.service
#添加开机自启动
systemctl enable mongodb.service
#重启服务
systemctl restart mongodb.service
2.5 配置环境变量
1、直接用export命令:
export PATH=$PATH:/usr/local/mongodb/bin
2、修改profile文件:
cat >>/etc/profile<<"EOF"
export PATH="$PATH:/usr/local/mongodb/bin"
EOF
#刷新profile文件:
source /etc/profile
3、 修改.bashrc文件:
cat >>/root/.bashrc<<"EOF"
export PATH="$PATH:/usr/local/mongodb/bin"
EOF
上述三步依次执行完毕,环境变量配置完成!!!!
重启服务器,输入mongo 回车就有了。。。。。
3 创建用户
#进入mongoDb容器,创建管理员
docker exec -it mongoDb bash
#进入mongoDb
mongo
> use admin
switched to db admin
> db.createUser({user:"admin",pwd:"admin",roles:[{role:"root",db:"admin"}]});
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
#出现创建成功提示就对了,退出管理员
> exit;
#用刚创建的管理用户登录在创建个普通用户
mongo --port 27017 -u admin -p admin --authenticationDatabase admin
> use test
switched to db test
> db.createUser({user:"tester",pwd:"tester",roles:[{role:"readWrite",db:"test"}]});
Successfully added user: {
"user" : "tester",
"roles" : [
{
"role" : "readWrite",
"db" : "test"
}
]
}
> exit
使用新建的test库,就需要在新建的test库下面创建一个用户,amdin也不行,admin只能在原始存在的库可以
比如新建一个test
需要在test下面创建一个用户
db.createUser(
{
user: "root",
pwd: "admindev123$%^",
roles: ["readWrite"]
}
)
返回1显示1则成功
mongoDb用户角色权限说明
- 数据库用户角色 read、readWrite
- 数据库管理角色 dbAdmin、dbOwner、userAdmin
- 集群管理角色 clusterAdmin、clusterManager、clusterMonitor、 hostManager
- 备份恢复角色 backup、restore
- 所有数据库角色 readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- 超级用户角色 root
- 内部角色 __system
角色说明
- Read 允许用户读取指定数据库
- readWrite 允许用户读写指定数据库
- dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
- userAdmin 允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
- clusterAdmin 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
- readAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读权限
- readWriteAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的读写权限
- userAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
- dbAdminAnyDatabase 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
- root 只在admin数据库中可用。超级账号,超级权限
删除用户:
db.dropUser(<user_name>) 删除某个用户,接受字符串参数
示例:db.dropUser(“admin”)
db.dropAllUser() 删除当前库的所有用户
MongoDB学习 - 安装部署的更多相关文章
- MongoDB学习--安装与管理
一.简介 MongoDB是一种强大.灵活,且易于扩展的通用型数据库.他能扩展出非常多的功能.如二级索引(secondary index).范围查询(range query).排序.聚合(aggrega ...
- mongodb的安装部署-备份
1.安装部署 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.10.tgz tar -zxf mongodb-linux- ...
- MongoDB学习-安装流程
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型. ...
- 【MongoDB学习-安装流程】
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. 支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型. ...
- twitter storm学习 - 安装部署问题汇总
已经碰到的或者将来碰到的关于安装部署方面的问题以及解决方法,先挖个坑 1.提交的topology在admin界面上看emitted始终都是0,查看日志发现有如下错误: worker [ERROR] E ...
- MongoDB之安装部署
一.安装MongoDB 在安装MongoDB之前,应该先把MongoDB官方网站上下载下来,下载的地址如下: https://www.mongodb.com/download-center 下载完毕之 ...
- Hadoop学习---安装部署
hadoop框架 Hadoop使用主/从(Master/Slave)架构,主要角色有NameNode,DataNode,secondary NameNode,JobTracker,TaskTracke ...
- Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...
- Ubuntu16.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 说在前面的话 首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...
随机推荐
- .NET6使用DOCFX自动生成开发文档
本文内容来自我写的开源电子书<WoW C#>,现在正在编写中,可以去WOW-Csharp/学习路径总结.md at master · sogeisetsu/WOW-Csharp (gith ...
- 带你了解 Angular 与 Angular JS
Angular 是一个基于 TypeScript 的开源客户端框架,专为构建 Web 应用程序而设计. 另一方面,AngularJS 是 Angular 的第一个版本,用纯 JavaScript 编写 ...
- 时间同步——TSN协议802.1AS介绍
前言之前的主题TSN的发展历史和协议族现状介绍了TSN技术的缘起,最近一期的主题TSN协议导读从定时与同步.延时.可靠性.资源管理四个方面,帮助大家了解TSN协议族包含哪些子协议,以及这些子协议的作用 ...
- 象群游牧算法--EHO
象群游牧算法的数学模型 象群的游牧行为非常复杂,但是其中一些行为可以帮助我们寻找全局最优解和局部最优解.对此,进行数学建模为: (1) 象群的每个部落都有固定数目的大象: (2) 每次迭代中,部落中都 ...
- exit_hook在pwn题中的应用
以前只接触过malloc_hook,free_hook,大概意思就是在调用malloc和free的时候会先看看里面有没有东西,有的话就会执行.以前在看一些师傅们博客的时候有看到过exit_hook,前 ...
- ss命令用来显示处于活动状态的套接字信息。
ss命令用来显示处于活动状态的套接字信息.ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比net ...
- IE上的兼容性调整问题烦死啦
IE上的兼容性调整问题烦死啦 好像还得把此代码放到第一行才起作用.
- JAVA发送xml格式的接口请求
/** * * @param urlStr 接口地址 * @param xmlInfo xml格式参数数据 * @return */ public static String sendMsgXml(S ...
- mysql导入文件 日期时间报错:[Err] 1067 - Invalid default value for 'active_time'
报错原因意思是说:mysql5.7版本中有了一个STRICT mode(严格模式),而在此模式下默认是不允许设置日期时间的值为全0值的,所以想要 解决这个问题,就需要修改sql_mode的值. 修改 ...
- Go1.18中的泛型编程
目录 目录 前言 泛型是什么 Go的泛型 泛型函数 泛型类型 类型集合 和接口的差异 总结 前言 经过这几年的千呼万唤,简洁的Go语言终于在1.18版本迎来泛型编程.作为一门已经有了14年历史的强类型 ...