mongodb的安装和配置

1.下载安装

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz

tar zxf mongodb-linux-x86_64-3.0.6.tgz 

mv mongodb-linux-x86_64-3.0.6 /usr/local/mongodb 

2.创建数据目录,必须创建,不然启动失败。

 mkdir  -p /data/db

创建配置文件,默认是没有模板的需要自己创建:添加:(启动参数都可以写到配置文件中)

vim mongodb.conf 

#数据文件存放位置
dbpath=/data/db

#日志文件存放位置
logpath=/usr/local/mongodb/logs/mongodb.logs

#PID的路径
pidfilepath=/usr/local/mongodb/pid/mongodb.pid

#端口号
port=27017

#后台运行
fork=true

#日志输出方式:追加
logappend=true

#打开28017网页端口(若不开启注释掉即可)
rest=true

./mongod --config /usr/local/mongodb/bin/mongodb.conf
2017-06-11T16:20:40.499+0800 I CONTROL ** WARNING: --rest is specified without --httpinterface,
2017-06-11T16:20:40.499+0800 I CONTROL ** enabling http interface
about to fork child process, waiting until server is ready for connections.
forked process: 21179
child process started successfully, parent exiting(若启动不成功查看日志)

若数据库出现如不能连上,则是一个data目录下的mongod.lock文件的问题,删除mongod.lock,./mongod --config /usr/local/mongodb/bin/mongodb.conf  --repair
######
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
 
查看logs
tail -f logs 

2017-06-11T00:12:09.875+0800 I NETWORK [initandlisten] connection accepted from 127.0.0.1:54624 #13 (1 connection now open)
2017-06-11T00:12:09.880+0800 I ACCESS [conn13] Unauthorized not authorized on admin to execute command { getLog: "startupWarnings" }


2017-06-11T00:12:28.804+0800 I NETWORK [initandlisten] connection accepted from 10.10.2.13:63225 #14 (2 connections now open)
2017-06-11T00:12:28.805+0800 I NETWORK [initandlisten] connection accepted from 10.10.2.13:63227 #15 (3 connections now open)
2017-06-11T00:12:28.805+0800 I NETWORK [initandlisten] connection accepted from 10.10.2.13:63226 #16 (4 connections now open)
2017-06-11T00:12:28.808+0800 I NETWORK [conn14] end connection 10.10.2.13:63225 (3 connections now open)
2017-06-11T00:12:28.831+0800 I NETWORK [conn15] end connection 10.10.2.13:63227 (2 connections now open)
2017-06-11T00:12:29.717+0800 I NETWORK [conn16] end connection 10.10.2.13:63226 (1 connection now open)

(1 connection now open)#表明一个来自本机的连接

3.进入数据库的CLI管理界面

show dbs : 查看数据库列表。数据库为空默认是不显示的,要想显示,需要把它插入至少一个文件

use 命令 :该命令将创建一个新的数据库

dropDatabase() 方法  :

db.dropDatabase() 命令是用来删除一个现有的数据库。它将删除选定的数据库。

如果还没有选择任何数据库,然后它会删除依次往下默认的 ' mogodb' 数据库

如果删除指定的数据库,使用use进入数据库中在执行db.dropDatabase()

4.制作启动脚本

vim /etc/init.d/mongodb
#!/bin/sh
case $1 in
start)
/usr/local/mongodb/bin/mongod --maxConns 20000 --config /usr/local/mongodb/bin/mongodb.conf
;;
stop)
/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()"
;;
status)
/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()" #以管理员身份进入管理后台
;;
*)
echo "start|stop|status"
;;
esac

chmod +x /etc/init.d/mongod

启动开启两个端口,默认服务端是27017端口号,可以使用默认端口号ip:28017进行用户访问:

6.MongoDB 备份(mongodump)与恢复(mongorestore)

备份:

 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 

-h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d:需要备份的数据库实例,例如:test
-o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。

如果想导出所有数据库,可以去掉-d。

恢复:

mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径 

--drop的意思是,先删除所有的记录,然后恢复。

 

posted @ 2017-07-20 17:53  GeminiMp  阅读(712)  评论(0编辑  收藏  举报