mongodb在linux下的安装

1. 下载MongoDBlinux

2. 解压文件到某目录下,而后重命名:mongodb

  1. [root@localhost      var]# tar -xzvf mongodb-linux-x86_64-enterprise-rhel62-3.4.9.tgz          shell

  2. [root@localhost var]# mv mongodb-linux-x86_64-enterprise-rhel62-3.4.9      /usr/local/mongodb  数据库


bin
下的mongod就是MongoDB的服务端进程,mongo就是其客户端,其它的命令用于MongoDB的其它用途如MongoDB文件导出等。安全

3. 启动MongoDB.服务器

    要先创建好MongoDB 存放数据文件和日志文件的目录,此处创建在/data下:app

  1. [root@localhost var]# cd /data/db        yii

  2. [root@localhost db]# mkdir mongodb_datatcp

  3. [root@localhost db]# mkdir mongodb_logide

  4. [root@localhost db]# ls   

  5. mongodb_data  mongodb_log  

   在MongoDB安装目录下的bin下使用mongod启动MongoDB,

  1. ./mongod --dbpath=/data/db/mongodb_data/ --logpath=/data/db/mongodb_log/mongodb.log --logappend&       

等待启动成功后,可查看是否启动成功了,默认端口号是27017,固然在启动时也能够指定未使用的其它端口。

  先经过查看端口号看MongoDB是否启动了。

  1. [root@localhost /db]# netstat -lanp | grep "27017"  

  2. tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN           2442/mongod                 

unix  2      [ ACC ]     STREAM     LISTENING     18203   2442/mongod         /tmp/mongodb-27017.sock  

  能够看到,已启动成功,如今使用mongo客户端访问一下该数据库。

  1. [root@localhost      bin]# ./mongo

  2. MongoDB shell      version v3.4.9

  3. connecting      to: mongodb://127.0.0.1:27017

  4. MongoDB      server version: 3.4.9 

  5. connecting to: test        

  6. >   

  安装成功

4. 额外工做。

   把mongod放到服务自启动项中

    编辑/etc/rc.d/rc.local,加入下述代码而后再保存便可。 

   #add mongonDB service   

   rm -rf /data/db/mongodb_data/* && /usr/local/mongodb/bin/mongod --dbpath=/data/db/mongodb_data/ --logpath=/data/db/mongodb_log/mongodb.log --logappend&  

   咱们重启计算机再看MongoDB是否启动,重启后能够直接使用 mongo命令登陆,最终发现是能够成功的。

   另外,咱们使用mongo命令登陆 MongoDB还要转到mongo命令所在目录再执行./mongo,这样是否是有些麻烦?所以,咱们能够简化这点,将该命令文件copy到/usr/bin下,这样就能够在任何目录下使用mongo命令了。

  1. [root@localhost bin]# ls   

  2. bsondump  dbbak  mongo  mongod  mongodump  mongoexport  mongofiles  mongoimport  mongorestore  mongos  mongosniff  mongostat        

  3. [root@localhost bin]# cp mongo /usr/bin/  

     转到任一目录试下mongo命令:

  1. [root@localhost bin]# cd /        

  2. [root@localhost /]# mongo   

  3. MongoDB shell version: 1.8.1        

  4. connecting to: test        

  5. >   

  能够看到登陆成功了,说明咱们能够像使用ls命令同样使用mongo命令了。

 

 

链接数据库(若是test不存在,则直接建立一个test)

use test

 

显示数据库:

show dbs

 

插入一条记录(切换到指定数据库下以后,须要插入至少一个文档后才会在show dbs中显示数据库名):

db.items.insert({"name":"yiibai tutorials"})

 

建立用户和密码(在admin库上):

db.createUser({user: "lich",pwd: "goodjob1234",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})

 

验证用户权限(返回1则用户存在):

db.auth('lich','goodjob1234')

 

查看admin库里面的所有用户:
use admin;
db.system.users.find();

 

查看全部表:

show tables;

 

 

另外除了以上的默认启动方式,还能够经过配置mongod.conf的方式来启动mongodb(未测试成功)

启动MongoDB2种方式,一种是直接默认启动,另外一种是指定配置文件。启动方式以下:
1:  /etc/init.d/mongod start service mongod start 
2:  mongod --config /etc/mongodb.conf
下面咱们看看配置文件:
vi /etc/mongod.conf

# 日志文件位置
logpath=/var/log/mongo/mongod.log

# 以追加方式写入日志
logappend=true

# 是否以守护进程方式运行
fork = true

# 默认27017
#port = 27017

# 数据库文件位置
dbpath=/var/lib/mongo

# 启用按期记录CPU利用率和 I/O 等待
#cpu = true

# 是否以安全认证方式运行,默认是不认证的非安全方式
#noauth = true
#auth = true

# 详细记录输出
#verbose = true

# Inspect all client data for validity on receipt (useful for
# developing drivers)用于开发驱动程序时验证客户端请求
#objcheck = true

# Enable db quota management
# 启用数据库配额管理
#quota = true
# 设置oplog记录等级
# Set oplogging level where n is
#   0=off (default)
#   1=W
#   2=R
#   3=both
#   7=W+some reads
#diaglog=0

# Diagnostic/debugging option 动态调试项
#nocursors = true

# Ignore query hints 忽略查询提示
#nohints = true
# 禁用http界面,默认为localhost28017
#nohttpinterface = true

# 关闭服务器端脚本,这将极大的限制功能
# Turns off server-side scripting.  This will result in greatly limited
# functionality
#noscripting = true
# 关闭扫描表,任何查询将会是扫描失败
# Turns off table scans.  Any query that would do a table scan fails.
#notablescan = true
# 关闭数据文件预分配
# Disable data file preallocation.
#noprealloc = true
# 为新数据库指定.ns文件的大小,单位:MB
# Specify .ns file size for new databases.
# nssize =

# Replication Options 复制选项
# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members
#指定存储身份验证信息的密钥文件的路径
#keyFile=/path/to/keyfile

 

 

或者使用如下的配置:(可作复制集测试配置,注意端口号和复制集的名称,复制集名称必须都一致)

28001.conf

 

bind_ip=192.168.20.144

port=28001

logpath=/data/db/mongodb_log/28001.log

logappend=true

dbpath=/data/db/mongodb_data28001

replSet=imooc

fork=true

 

 

28002.conf

 

bind_ip=192.168.20.144

port=28002

logpath=/data/db/mongodb_log/28002.log

logappend=true

dbpath=/data/db/28002

replSet=imooc

fork=true

 

 

28003.conf

 

bind_ip=192.168.20.144

port=28003

logpath=/data/db/mongodb_log/28003.log

logappend=true

dbpath=/data/db/28003

replSet=imooc

fork=true

 

 

指定端口启用mongo :

cd /usr/local/mongo/bin

 

./mongo 192.168.20.144:28001/admin