MongoDB
是什么东东这里就多说了, 就是一个数据库与mysql
不同, 下面纪录在Centos
下安装教程, 包括设置权限、启动、创建用户设置权限等操作!
Centos 6.7
MongoDB 3.2.7官网:
https://www.mongodb.com
安装
这里我们在官网下载源码进行安装. 下载地址: https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.7.tgz
下载源码-> 使用wget
下载
cd /usr/local
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.7.tgz
tar -xvf mongodb-linux-x86_64-rhel62-3.2.7.tgz
mv mongodb-linux-x86_64-rhel62-3.2.7 mongodb
配置环境变量
修改/etc/profile
, 添加如下内容
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
执行命令:
vim /etc/profile
source /etc/profile
查看mongodb版本信息 mongod -v
mongod -v
2016-07-09T22:01:18.546+0800 I CONTROL [initandlisten] MongoDB starting : pid=1314 port=27017 dbpath=/data/db 64-bit host=iZ28lgwrrtqZ
2016-07-09T22:01:18.553+0800 I CONTROL [initandlisten] db version v3.2.7
2016-07-09T22:01:18.553+0800 I CONTROL [initandlisten] git version: 4249c1d2b5999ebbf1fdf3bc0e0e3b3ff5c0aaf2
2016-07-09T22:01:18.553+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
2016-07-09T22:01:18.553+0800 I CONTROL [initandlisten] allocator: tcmalloc
2016-07-09T22:01:18.553+0800 I CONTROL [initandlisten] modules: none
2016-07-09T22:01:18.553+0800 I CONTROL [initandlisten] build environment:
2016-07-09T22:01:18.553+0800 I CONTROL [initandlisten] distmod: rhel62
2016-07-09T22:01:18.553+0800 I CONTROL [initandlisten] distarch: x86_64
2016-07-09T22:01:18.553+0800 I CONTROL [initandlisten] target_arch: x86_64
2016-07-09T22:01:18.555+0800 I CONTROL [initandlisten] options: { systemLog: { verbosity: 1 } }
2016-07-09T22:01:18.555+0800 D NETWORK [initandlisten] fd limit hard:65535 soft:65535 max conn: 52428
2016-07-09T22:01:18.616+0800 D - [initandlisten] User Assertion: 29:Data directory /data/db not found.
2016-07-09T22:01:18.635+0800 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating
2016-07-09T22:01:18.635+0800 I CONTROL [initandlisten] dbexit: rc: 100
🍺恭喜你安装成功了! 下面进行配置, 启动
启动
创建数据库目录
MongoDB
需要自建数据库文件夹.
mkdir -p /data/mongodb
mkdir -p /data/mongodb/log
touch /data/mongodb/log/mongodb.log
添加配置文件
新建mongodb.conf配置文件, 通过这个配置文件进行启动.
vim /etc/mongodb.conf
配置文件参数说明:
mongodb的参数说明:
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
注:mongodb配置文件里面的参数很多,定制特定的需求,请参考官方文档
配置文件内容:
dbpath=/data/mongodb
logpath=/data/mongodb/log/mongodb.log
logappend=true
port=27017
fork=true
##auth = true # 先关闭, 创建好用户在启动
通过配置文件启动
mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 2814
child process started successfully, parent exiting
出现successfully表示启动成功了.
进入 MongoDB
后台管理 Shell
cd /usr/local/mongodb/bin
./mongo
创建数据库
use test switched to db test
创建成功.
创建用户, 设置权限
db.createUser( { user: "test", pwd: "test", roles: [ { role: "readWrite", db: "test" } ] } )
详细权限配置参考网址: MongoDB 3.0 用户创建
配置防火墙
将27017端口添加到防火墙中
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
/etc/init.d/iptables reload
测试
这里我们使用MongoChef 软件进行连接测试
🍺恭喜你, mongodb成功安装好了!!
注意
我们创建了用户, 这个时候要开启权限启动, 在配置文件中添加auth=true
, 然后重启一下
总结
MongoDB
默认没有用户权限的, 建议大家一定要设置, 这样数据才安全.