MongoDB安装和简单配置 Linux-CentOS6

在哪下载

mongodb官方网站,提供社区版和企业版下载。

下面演示在Centos6x64上的安装过程

  • mongoDB版本:社区版 v3.6
  • 运行平台:RHEL 6 Linux 64bit

注意 :我使用的是root用户做演示,这样可以避免一些权限问题的困扰,这对linux不熟悉的同学来说可以专注MongoDB的学习。

安装过程

1. 下载&解压

可以使用我下面提供的地址直接下载,如果链接失效或者你想尝试其他版本,请移步到官网找到你想要的安装包.

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

tar zxf mongodb-linux-x86_64-rhel62-3.6.0.tgz

2. 准备安装

将mongodb移动到/usr/local/mongdb文件夹

mv mongodb-linux-x86_64-rhel62-3.6.0 /usr/local/mongodb

创建数据库目录与日志文件目录

mkdir -p /mongodb/data/db
mkdir -p /mongodb/logs

3. 启动mongodb

进入到mongodb/bin目录启动mongod进程

a) 通过命令行传递启动参数

[root@localhost ~]# cd /usr/local/mongdb/bin
[root@localhost bin]# ./mongod --dbpath=/mongodb/data/db/ --logpath=/mongodb/logs/mongodb.log --logappend --fork

例子中通过命令行指定了mongod启动时的参数,mongod就是mongodb的服务进程.

--dbpath 指定了数据文件存储的位置,这个目录可以不显示指定,但要保证存在一个/data/db目录(默认存储数据目录),并且mongod要对该目录有足够的权限.

--logpath 只sing日志文件存储的目录,默认日志是输出到窗口中的。

--logappend 日志文件末尾添加

--fork 作为守护进程,在后台运行.这个参数只能再Linux平台上使用。

参数还有很多,可以通过--help选项来查看可以传递的参数.

[root@localhost bin]# ./mongod --help

b) 通过配置文件传递启动参数

创建配置文件mongod.conf

[root@localhost bin]# mkdir /mongodb/conf
[root@localhost bin]# vim /mongodb/conf/mongod.conf

将下面的配置写入到mongod.conf

systemLog: 
    destination: file
    path: "/mongodb/logs/mongodb.log"
    logAppend: true

storage: 
    dbPath: "/mongodb/data/db/"
    journal: 
        enabled: true


processManagement: 
    fork: true

net: 
    bindIp: 127.0.0.1
    port: 27017

启动mongod进程

[root@localhost bin]# ./mongod --config /mongodb/conf/mongod.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 5054
child process started successfully, parent exiting

这里使用了--config指定了配置文件,也可以使用-f 来指定配置文件

看到successfully就表示已经启动成功了.

4. 检查是否已经启动mongod

a) 查看mongod进程.

[root@localhost bin]# ps aux | grep mongod
root       5054  0.6  2.5 1046200 48632 ?       Sl   11:28   0:02 ./mongod --config /mongodb/conf/mongod.conf

b) 查看监听端口

[root@localhost bin]# netstat -tnpl | grep mongod
tcp        0      0 127.0.0.1:27017             0.0.0.0:*                   LISTEN      5054/./mongod

启动mongod时可能遇到的问题

1. 架构错误

安装包架构和操作系统架构不符,如果在32位的操作系统上运行64位的安装包,会提示下面的错误信息.

./mongod: cannot execute binary file

去下载正确的安装包就好了。

2. dbpath不存在

MongoDB需要一个存储数据的目录,如果目录不存在会报错。我们例子中指定的是/mongodb/data/db/

3. 端口被占用

如果27017端口被占用了,那肯定启动不了

a) 干掉占用27017端口的进程

查看侦听27017端口的进程PID 然后kill掉该进程

[root@localhost bin]# lsof -i :27017
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
mongod  5054 root   11u  IPv4  20211      0t0  TCP localhost:27017 (LISTEN)

b) 修改自己的端口号

将端口改为27018或者其他的数字

./mongod --port=27018

使用客户端连接mongodb

mongodb的客户端有很多种,如果你是再windows平台工作,可视化的客户端可以使用MongoVUE不过MongoVUE官网好像挂了,我更推荐使用robomongo

但是,在学习阶段一定要使用Mongodb安装包中提供的基于JavaScript的shell来操作mongodb

JavaScript shell

cd到mongodb/bin,执行命令./mongo

[root@localhost bin]# cd /usr/local/mongdb/bin
[root@localhost bin]# ./mongo 192.168.33.132:27017
2017-11-01T17:28:37.620+0800 I STORAGE  [initandlisten] 
2017-11-01T17:28:37.620+0800 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-11-01T17:28:37.620+0800 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-11-01T17:28:38.248+0800 I CONTROL  [initandlisten] 
2017-11-01T17:28:38.248+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-11-01T17:28:38.248+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-11-01T17:28:38.248+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-11-01T17:28:38.248+0800 I CONTROL  [initandlisten] 
2017-11-01T17:28:38.249+0800 I CONTROL  [initandlisten] 
2017-11-01T17:28:38.249+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-11-01T17:28:38.249+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-11-01T17:28:38.249+0800 I CONTROL  [initandlisten] 
2017-11-01T17:28:38.249+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-11-01T17:28:38.249+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'

不指定参数时默认链接到127.0.0.1:27017

上面出现了很多警告,请暂时不要管它。

现在已经成功连接到mongodb了,你可以尝试输入一些命令来做一些操作,比如关闭mongod服务.

查看mongodb中都有哪些库

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

使用use命令切换到指定数据

> use admin
switched to db admin

关闭mongodb服务

> db.shutdownServer()
server should be down...
[root@localhost bin]# ps aux | grep mongod
root       5298  0.0  0.0 103328   844 pts/0    S+   12:06   0:00 grep mongod

mongodb已经成功关闭,但最好还是重新启动它,除非你要放弃学习mongodb.

你可能感兴趣的:(mongoDB,mongoDB)