Centos 安装MongoDB 详细教程

highres_14391580-700x336

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下载

1
2
3
4
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, 添加如下内容

1
2
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH

执行命令:

1
2
vim /etc/profile
source /etc/profile

查看mongodb版本信息 mongod -v

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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需要自建数据库文件夹.

1
2
3
mkdir -p /data/mongodb
mkdir -p /data/mongodb/log
touch /data/mongodb/log/mongodb.log

添加配置文件

新建mongodb.conf配置文件, 通过这个配置文件进行启动.

1
vim /etc/mongodb.conf

配置文件参数说明:

1
mongodb的参数说明:

--dbpath 数据库路径(数据文件)

--logpath 日志文件路径

--master 指定为主机器

--slave 指定为从机器

--source 指定主机器的IP地址

--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。

--logappend 日志文件末尾添加

--port 启用端口号

--fork 在后台运行

--only 指定只复制哪一个数据库

--slavedelay 指从复制检测的时间间隔

--auth 是否需要验证权限登录(用户名和密码)

注:mongodb配置文件里面的参数很多,定制特定的需求,请参考官方文档

配置文件内容:

1
2
3
4
5
6
dbpath=/data/mongodb
logpath=/data/mongodb/log/mongodb.log
logappend=true
port=27017
fork=true
##auth = true # 先关闭, 创建好用户在启动

通过配置文件启动

1
2
3
4
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

1
2
cd /usr/local/mongodb/bin
./mongo
  • 创建数据库

    1
    2
    use test
    switched to db test

    创建成功.

  • 创建用户, 设置权限

    1
    2
    3
    4
    5
    6
    7
    db.createUser(
    {
    user: "test",
    pwd: "test",
    roles: [ { role: "readWrite", db: "test"
    } ]

    }
    )
详细权限配置参考网址: [MongoDB 3.0 用户创建](http://www.cnblogs.com/zhoujinyi/p/4610050.html)

配置防火墙

将27017端口添加到防火墙中

1
2
3
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 默认没有用户权限的, 建议大家一定要设置, 这样数据才安全.

LijunSong wechat
欢迎您扫一扫上面的微信公众号,订阅IT江湖!