MongoDB -安装篇

MongoDB安装-Linux

下载地址:https://www.mongodb.com/download-center/community

环境安装

①、解压安装

# 解压
tar -zxvf mongodb-linux-x86_64-4.0.9.tgz -C /usr/local/

# 重命名
cd /usr/local/
mv mongodb-linux-x86_64-4.0.9/ mongodb

②、创建数据库目录

MongoDB 的数据存储在 data 目录的 db 目录下,但是这个目录在安装过程不会自动创建,需要手动创建 data 目录,并在 data 目录中创建 db 目录。data 目录可以创建在任何位置。

# 创建数据存储目录
mkdir -p /usr/local/mongodb/data/db

# 创建日志文件目录
mkdir -p /usr/local/mongodb/log
cd /usr/local/mongodb/log/
touch mongodb.log

# 放行端口
firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload

③、配置环境参数

配置全局环境变量:

  • 配置:vim /etc/profile
  • 生效:source /etc/profile
export PATH=/usr/local/mongodb/bin:$PATH

④、配置启动配置文件

创建配置文件:

# 创建配置文件
mkdir -p /usr/local/mongodb/etc
cd /usr/local/mongodb/etc/
touch mongodb.conf

配置内容:vim mongodb.conf

# 配置内容
# 指定 db 路径
dbpath=/usr/local/mongodb/data/db
# 指定日志文件
logpath=/usr/local/mongodb/log/mongodb.log
# 配置端口
port=27017
# 配置允许访问
bind_ip=0.0.0.0
# 配置后置启动
fork=true
后置启动参数
  • 常见的启动参数
–quiet安静输出
–port指定服务端口号,默认端口 27017
–bind绑定服务 IP,若绑定 127.0.0.1,则只能本机访问
–logpath指定 MongoDB 日志文件,注意是指定日志文件不是目录
–logappend使用追加的方式写日志
–fork守护进程的方式运行 MongoDB,创建服务器进程
–auth启用验证
–config指定配置文件的路径,注意是指定配置文件不是目录
–journal启用日志选项,MongoDB 的数据操作将会写入到 journal 文件夹的文件里

⑤、其他操作

# 启动MongoDB
cd /usr/local/mongodb/bin/
./mongod --config /usr/local/mongodb/etc/mongodb.conf

# 进入客户端
cd /usr/local/mongodb/bin/
./mongo

# 关闭MongoDB
cd /usr/local/mongodb/bin/
./mongod --shutdown --dbpath /usr/local/mongodb/data/db/

  • 设置开机自启
# 添加开机自启外码到 /etc/rc.local 文件

创建用户

# 
use admin

# 创建用户
db.createUser({ 
 user: "<name>",
 pwd: "<cleartext password>",
 customData: { <any information> },
 roles: [
 { role: "<role>", db: "<database>" } | "<role>",
 ...
 ]
});

# 

MongDB安装-Docker

环境安装

# 下载镜像
docker pull mongo:latest

# 创建容器
docker run -itd --name mongo -p 27017:27017 mongo --auth

# 放行端口
firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --reload

创建用户

# 添加用户和设置密码,并且尝试连接。
docker exec -it mongo mongo admin

# 创建一个名为 admin,密码为 123456 的用户。
> db.createUser(
	{
		user:'admin',
		pwd:'123456',
		roles:
		[
			{ 
				role:'userAdminAnyDatabase', 
				db:'admin'
		 	},
			"readWriteAnyDatabase"
		]
	});
# 尝试使用上面创建的用户信息进行连接。
> db.auth('admin', '123456')
  • 用户权限列表
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、付费专栏及课程。

余额充值