学习参考:https://www.runoob.com/mongodb/mongodb-tutorial.html
一、部署环境
1、系统:Centos 7
2、mongodb: mongodb-linux-x86_64-rhel70-4.4.5
二、安装包下载
1、官方下载地址:https://www.mongodb.com/try#community
2、下载演示
3、在服务器上下载
# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.4.5.tgz
三、软件安装
1、解压
# tar -zxvf mongodb-linux-x86_64-rhel70-4.4.5.tgz
2、创建mongodb 的home目录
# mkdir /usr/local/mongodb
3、创建mongodb 的数据目录和日志目录
# mkdir /usr/local/mongodb/data
# mkdir /usr/local/mongodb/data/db #数据目录
# mkdir /usr/local/mongodb/data/log #日志目录
# chmod 777 /usr/local/mongodb/db /usr/local/mongodb/log #设置可读写权限
4、创建mongodb 的配置文件(在mongodb目录下新建配置文件mongodb.conf
(可选,但建议配置))
# vi /usr/local/mongodb/mongodb.conf #配置文件中的目录和已创建的一一对应
1 # 数据库数据存放目录 2 dbpath=/usr/local/mongodb/data/db 3 # 日志文件存放目录 4 logpath=/usr/local/mongodb/data/log/mongodb.log 5 # 日志追加方式 6 logappend=true 7 # 端口 8 port=27017 9 # 是否认证 10 auth=true 11 # 以守护进程方式在后台运行 12 fork=true 13 # 远程连接要指定ip,否则无法连接;0.0.0.0代表不限制ip访问 14 bind_ip=0.0.0.0
5、将解压的文件移动至 mongodb 的home 目录
# mv mongodb-linux-x86_64-rhel70-4.4.5/* /usr/local/mongodb
6、配置环境变量,在/etc/profile 末尾添加以下内容并保存,最后使用 source /etc/profile
命令重启系统配置。
1 export MONGODB_HOME=/usr/local/mongodb 2 export PATH=$PATH:$MONGODB_HOME/bin
四、启动、验证、关闭 mongodb
启动:
方法一:有配置文件的情况 -f 等同于 --config
# mongod -f /usr/local/mongodb/mongodb.conf
方法二:没有配置文件的情况
# mongod --dbpath /usr/local/mongodb/data/db --logpath /usr/local/mongodb/data/log/mongod.log --fork
验证:
#使用mongo 命令进入 mongodb shell 模式,Ctrl+D 退出shell 模式。
关闭:
# mongod -f /usr/local/mongodb/mongodb.conf --shutdown
五、其他介绍
1、 mongodb 默认端口 27017.
2、打包为服务类型
a、# 使用vi /lib/systemd/system/mongodb.service
命令创建开机配置文件,输入以下内容:
1 [Unit] 2 Description=mongodb 3 After=network.target remote-fs.target nss-lookup.target 4 [Service] 5 Type=forking 6 ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf 7 ExecReload=/bin/kill -s HUP $MAINPID 8 ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/mongodb.conf 9 PrivateTmp=true 10 [Install] 11 WantedBy=multi-user.target
b、使用 systemctl [start | stop | enable| status] mongodb.service 控制mongodb服务。
3、用户管理
# 我们在 mongodb 的配置文件中,指定了auth=true,即开启认证。默认情况下,mongod也是没有管理员账户的
。因此需要在admin数据库中使用db.createUser()
命令添加管理员帐号或其他角色。
a、mongodb内置角色
1 数据库用户角色:read、readWrite 2 数据库管理角色:dbAdmin、dbOwner、userAdmin 3 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager 4 备份恢复角色:backup、restore 5 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 6 超级用户角色:root 7 内部角色:__system
b、创建管理员账号:
# 切换到admin数据库,使用以下命令创建管理账号,拥有操作所有数据库权限。
> db.createUser({user:"admin",pwd:"password",roles:["root"]})
c、验证:
> use admin
> db.auth('admin','password')
d、 添加数据库用户:给mytest数据库创建用户和密码
> use mytest
> db.createUser({user: "mytest", pwd: "mytest", roles: [{ role: "dbOwner", db: "mytest" }]}) # 创建用户mytest,设置密码mytest,设置角色dbOwner
e、查看系统用户
> db.system.users.find()
f、删除用户
> db.dropUser("mytest")
注:删除用户是需要在用户的管理的数据库下才可以删除。