一:下载安装
(一)下载安装包
下载地址:点击打开链接
(二)解压
# tar -zxvf mongodb-linux-x86_64-3.6.3.tgz
(三)重命名
# mv mongodb-linux-x86_64-3.6.3.tgz mongodb
(四)创建数据库目录、日志文件、配置文件
# cd mongodb
# mkdir data
# mkdir log
# cd log
# touch mongodb.log
# cd ../
# mkdir conf
# cd conf
# touch mongodb.conf
# vim mongodb.conf
添加以下内容后保存退出:
#数据库数据存放目录
dbpath=/usr/local/mongodb/data
#数据库日志存放目录
logpath=/usr/local/mongodb/log/mongodb.log
#以追加的方式记录日志
logappend = true
#端口号 默认为27017
port=27017
#以后台方式运行进程
fork=true
#开启用户认证
auth=true
#关闭http接口,默认关闭http端口访问
nohttpinterface=true
#mongodb所绑定的ip地址
#bind_ip = 127.0.0.1
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
(五)启动mongodb
# cd bin
# ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log
注意:开启后,操作数据库需要重新开启一个虚拟机连接,不可以终止当前命令操作。
(六)登录mongodb
# ./mongo
二:创建用户,开启登录验证
(一)启动mongoddb
# cd bin
# ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log
(二)创建用户
# ./mongo
# use admin
db.createUser(
{
user: "root",
pwd: "123",
roles: [ { role: "root", db: "admin" } ]
}
)
**其中role角色有四种:
userAdminAnyDatabase 这个角色拥有分配角色和用户的权限,但没有查写的缺陷
root 这是超级管理员
readWrite 有读写权限
read 有读权限
(三)重启mongodb,开启验证
# cd bin
# ./mongod --auth -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log
--重新打开一个虚拟机连接,登录mongodb
#./mongo
# use admin
--进行各种数据库操作时会提示没有权限认证,需要进行授权
# db.auth("root","123")
三:设置开机启动
(方式一) :编辑 /etc/rc.local 文件
# vim /etc/rc.local
--将下面mongodb的启动命令添加进去,注意目录结构,然后保存退出
/usr/local/mongodb/bin/mongod --auth -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/log/mongodb.log
(方式二) :作为服务启动(推荐使用)
# vim /etc/init.d/mongodb
添加如下内容:
#!/bin/sh
### BEGIN INIT INFO
# Provides: mongodb
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: mongodb
# Description: mongo db server
### END INIT INFO
EXE_FILE=/usr/local/mongodb/bin/mongod #mongod命令的绝对路径
CONFIG_FILE=/usr/local/mongodb/conf/mongodb.conf #mongodb.conf的绝对路径
. /lib/lsb/init-functions
MONGOPID=`ps -ef| grep mongod| grep -v grep| awk '{print $2}'`
test -x $EXE_FILE || exit 0
case "$1" in
start)
ulimit -n 3000
log_begin_msg "Starting MongoDB server"
$EXE_FILE --config $CONFIG_FILE
log_end_msg 0
;;
stop)
log_begin_msg "Stopping MongoDB server"
if [ ! -z "$MONGOPID" ]; then
kill -15 $MONGOPID
fi
log_end_msg 0
;;
status)
ps -aux| grep mongod
;;
*)
log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}"
exit 1
esac
exit 0
//修改文件权限
# chmod 777 /etc/init.d/mongodb
//将mongodb添加到服务
chkconfig --add mongodb
//查看
chkconfig --list
四:基本命令
show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表)
show users:显示用户
db.collectionName.find():查看集合数据
db.collectionName.find( { a : 1 } ):按条件显示集合数据,条件是数据中有一个属性叫a,且a的值为1
use yourDB :切换/创建数据库
db.dropDatabase():删除当前数据库
db.createCollection(“collName”, {size: 20, capped: 5, max: 100}):创建集合
db.collectionName.insert({name:"jack",age:33}):创建集合并插入数据
db.collectionName.drop():删除集合数据
更过命令参考菜鸟教程 https://www.runoob.com/mongodb/mongodb-tutorial.html