741057228我QQ 发表于 2018-10-24 13:31:30

mongodb在linux下的安装

  1. 下载MongoDB
  2. 解压文件到某目录下,然后重命名:

[*]  # tar -xzvf mongodb-linux-x86_64-enterprise-rhel62-3.4.9.tgz
[*]  # mv mongodb-linux-x86_64-enterprise-rhel62-3.4.9      /usr/local/mongodb
  bin下的mongod就是MongoDB的服务端进程,mongo就是其客户端,其它的命令用于MongoDB的其它用途如MongoDB文件导出等。
  3. 启动MongoDB.
  要先建立好MongoDB 存放数据文件和日志文件的目录,此处建立在/data下:

[*]  # cd /data/db
[*]  # mkdir mongodb_data
[*]  # mkdir mongodb_log
[*]  # ls
[*]  mongodb_datamongodb_log
  在MongoDB安装目录下的bin下使用mongod启动MongoDB,

[*]  ./mongod --dbpath=/data/db/mongodb_data/ --logpath=/data/db/mongodb_log/mongodb.log --logappend&
  等待启动成功后,可查看是否启动成功了,默认端口号是27017,当然在启动时也可以指定未使用的其它端口。
  先通过查看端口号看MongoDB是否启动了。

[*]  # netstat -lanp | grep "27017"
[*]  tcp      0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN         2442/mongod
  unix2      [ ACC ]   STREAM   LISTENING   18203   2442/mongod         /tmp/mongodb-27017.sock
  可以看到,已启动成功,现在使用mongo客户端访问一下该数据库。

[*]  # ./mongo
[*]  MongoDB shell      version v3.4.9
[*]  connecting      to: mongodb://127.0.0.1:27017
[*]  MongoDB      server version: 3.4.9
[*]  connecting to: test
[*]  >
  安装成功
  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命令了。

[*]  # ls
[*]  bsondumpdbbakmongomongodmongodumpmongoexportmongofilesmongoimportmongorestoremongosmongosniffmongostat
[*]  # cp mongo /usr/bin/
  转到任一目录试下mongo命令:

[*]  # cd /
[*]  # mongo
[*]  MongoDB shell version: 1.8.1
[*]  connecting to: test
[*]  >
  可以看到登录成功了,说明我们可以像使用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(未测试成功)
  启动MongoDB有2种方式,一种是直接默认启动,另一种是指定配置文件。启动方式如下:
  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界面,默认为localhost:28017
  #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>  # nssize =
  # Replication Options 复制选项
  # in replicated mongo databases, specify the replica set name here
  #replSet=setname

  # maximum>  #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

页: [1]
查看完整版本: mongodb在linux下的安装