一、MongoDB的安装
2017-10-23 本文已影响0人
Java之王
一、Linux下服务端的安装
查看Linux的位数:
[root@CentOS07 ~]# getconf LONG_BIT
查看Linux的版本信息:
[root@CentOS07 ~]# lsb_release -a
(一)Windows下的安装:
http://blog.csdn.net/lupengfei1009/article/details/50832996#mongodb的安装
(二)Linux下的安装:
下载地址:https://www.mongodb.org/dl/linux
(三)安装步骤:
1、上传并解压缩
[root@localhost soft]# tar zxvf mongodb-linux-x86_64-3.2.10.tgz
2.、安装准备
2.1创建数据库文件夹与日志文件、配置文件:
[root@localhost soft]# mkdir -p /usr/local/mongodb/server/data/db
[root@localhost soft]# mkdir -p /usr/local/mongodb/server/data/log
[root@localhost soft]# touch /usr/local/mongodb/server/data/log/mongodb.log
[root@localhost soft]# touch /usr/local/mongodb/server/mongodb.conf
将mongodb移动到/usr/local/mongdb/server文件夹:
[root@localhost soft]# mv mongodb-linux-x86_64-3.2.10/* /usr/local/mongodb/server/
2.2编辑MongoDB的配置文件
[root@localhost soft]# vim /usr/local/mongodb/server/mongodb.conf
将配置写到配置文件中
dbpath=/usr/local/mongodb/server/data/db
logpath=/usr/local/mongodb/server/data/log/mongodb.log
logappend=true
port=27017
fork=true
2.3将MongoDB服务加入随机启动
[root@Cent ~]#vi /etc/rc.local
使用vi编辑器打开配置文件,并在其中加入下面一行代码
/usr/local/mongodb/server/bin/mongod --dbpath=/usr/local/mongodb/server/data --logpath=/usr/local/mongodb/server/data/log/mongodb.log --logappend --port=27017 --fork
注:如果加权限就用 --auth 参数,不需要权限就去掉
启动操作:
[root@Cent ~]# /usr/local/mongodb/server/bin/mongod --dbpath=/usr/local/mongodb/server/data --logpath=/usr/local/mongodb/server/data/log/mongodb.log --logappend --port=27017 --fork
2.4验证服务是否已经启动
在浏览器下打开:(http://10.106.0.85:27017/),如果出现下图效果则说明服务已经启动成功:
image.png2.5参数解释:
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
--config 配置文件位置
二、用户授权和管理(未测试)
1、mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过shell命令可直接进入,cd到mongodb目录下的bin文件夹,执行命令./mongo即可
运行如下:
[root@namenode mongodb]# ./bin/mongo
MongoDB shell version: 1.8.2
connecting to: test
> use test;
switched to db test
2、添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase),
>use admin
>db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
注:添加完用户后可以使用show users或db.system.users.find()查看已有用户
3、添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,这里注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭
4、使用权限方式启动MongoDB
[root@Cent ~]# /usr/local/mongodb/server/bin/mongod --dbpath=/usr/local/mongodb/server/data --logpath=/usr/local/mongodb/server/data/log/mongodb.log --logappend --port=27017 --fork
或者在配置文件中修改:
auth = true
#noauth = true
5、进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。
> use admin
> db.auth("admin","123456") #认证,返回1表示成功
6、验证之后还是做不了操作,因为admin只有用户管理权限,下面创建用户,用户都跟着库走
> use mydb
> db.createUser({user: "root",pwd: "123456",roles: [{ role: "readWrite", db: "mydb" }]})
7、使用创建的用户root登录进行数据库操作:
[root@localhost mongodb]# mongo 127.0.0.1/mydb -uroot -p
MongoDB shell version: 3.2.9
Enter password:
connecting to: 127.0.0.1/mydb
> db
mydb
> use mydb
switched to db mydb
> show collections
然后就可以进行增删改查各种数据操作...
三、mongoDB启动报错解决方案
参考:http://blog.csdn.net/qq_20545159/article/details/48720233