安装过程放在后面了
一、开启Mongodb 密码验证功能
默认安装完mongodb是不用密码验证的,直接输入mongo就可以登入数据库进行相关操作,设置参数auth=true启动mongodb密码验证功能,开启改功能步骤如下:
①、修改参数文件auth=flase,并重启mongodb
②、登入数据库,创建管理员用户(默认是没有管理员账户的)
[root@mongodb ~] # mongo
> user admin
> db.createUser(
{
user: "admin",
pwd: "admin",
roles: [ { role: "root", db: "admin" } ]
}
)
③、修改参数文件auth=true,重启数据库,使用admin用户登入数据库
mongo 127.0.0.1:27017/admin(database) -u admin(username) -p admin(password)
或者
[root@mongodb ~] # mongo
> use admin
> db.auth("admin","admin");
二、用户权限管理
创建user文档,定义了用户的以下形式:
create
{ user: "<name>",
pwd: "<cleartext password>",
customData: { <any information> },
roles: [
{ role: "<role>", db: "<database>" } | "<role>",
...
]
}
user文档字段介绍:
user字段,为新用户的名字;
pwd字段,用户的密码;
cusomData字段,为任意内容,例如可以为用户全名介绍;
roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色;
在roles字段,可以指定内置角色和用户定义的角色。
1. 数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system
示例:
db.createUser(
{
user: "admin1",
pwd: "admin1",
roles: [
{ role: "read", db: "mydb" }
]
}
)
db.createUser(
{
user: "admin1",
pwd: "admin1",
roles: [
{ role: "dbAdmin", db: "admin" },
{ role: "backup", db: "admin" }
]
}
)
查找用户信息和删除用户
db.system.users.find();
db.system.users.remove({user:"pmsadapter"});
三、导入导出小结
导出dbname下collectionname 表到 /home/area.dat
mongoexport -d dbname -c collectionname -o /home/area.dat
导入
mongoimport -d dbname -c collectionname /home/area.dat
导出iflashbuy_log数据库/home/my_mongodb_dump
mongodump -d iflashbuy_log -o /home/my_mongodb_dump
恢复数据库
mongorestore -d my_mongodb /home/my_mongodb_dump
安装过程配置
mongodb下载地址 https://www.mongodb.org/downloads
解压安装包,并创建data和log目录
[root@59-Mysql-Test ~]# tar zxvf mongodb-linux-x86_64-3.0.6
[root@59-Mysql-Test ~]# mv mongodb-linux-x86_64-3.0.6 /usr/local/mongodb
[root@59-Mysql-Test ~]# mkdir /mongdb/data -p
[root@59-Mysql-Test ~]# mkdir /mongdb/log -p
[root@59-Mysql-Test ~]# cd /usr/local/mongodb/
[root@59-Mysql-Test mongodb]# pwd
/usr/local/mongodb
创建配置文件
[root@59-Mysql-Test mongodb]# vi mongodb.cnf
port = 27017
logpath = /mongodb/log/mongodb59.log
logappend = true
dbpath = /mongodb/data
directoryperdb = true
auth = false
注册服务linux
/lib/lsb/init-functions使定义在init-functions文件中的所有shell函数在当前脚本
[root@59-Mysql-Test bin]# yum install redhat-lsb
[root@59-Mysql-Test bin]# vi /etc/init.d/mongodb
#
#mongod - Startup script for mongod
#
# chkconfig: - 85 15
# description: Mongodb database.
# processname: mongod
# Source function library
. /etc/rc.d/init.d/functions
# things from mongod.conf get there by mongod reading it
# OPTIONS
OPTIONS="-f /usr/local/mongodb/mongodb.cnf"
#mongod
mongod="/usr/local/mongodb/bin/mongod"
lockfile=/var/lock/subsys/mongod
start()
{
echo -n $"Starting mongod: "
daemon $mongod $OPTIONS
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch $lockfile
}
stop()
{
echo -n $"Stopping mongod: "
killproc $mongod -QUIT
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f $lockfile
}
restart () {
stop
start
}
ulimit -n 12000
RETVAL=0
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload|force-reload)
restart
;;
condrestart)
[ -f $lockfile ] && restart || :
;;
status)
status $mongod
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|status|restart|reload|force-reload|condrestart}"
RETVAL=1
esac
exit $RETVAL
[root@59-Mysql-Test ~]# service mongodb start
或者不注册服务,直接路径去操作启动也可以
[root@59-Mysql-Test ~]# cd mongodb-linux-x86_64-3.0.6/bin
[root@59-Mysql-Test bin]# ./mongod --dbpath=/mongodb/data --logpath=/mongodb/log/mongo45.log --logappend&
或者
[root@59-Mysql-Test bin]# ./mongod -f /usr/local/mongodb/mongodb.cnf&
[root@59-Mysql-Test bin]# netstat -lanp | grep 27017
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 22250/./mongod
unix 2 [ ACC ] STREAM LISTENING 1935507 22250/./mongod /tmp/mongodb-27017.sock
注意将注册到开机启动中
[root@59-Mysql-Test ~]# cat /etc/rc.local
.
.
.
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.cnf
MongoDB连接工具推荐:
MongoChef 首推
NoSQL Manager for MongoDB
MongoVUE
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29320885/viewspace-1805437/
,如需转载,请注明出处,否则将追究法律责任。