设为首页 收藏本站
查看: 763|回复: 0

[经验分享] mongodb在linux下的安装

[复制链接]

尚未签到

发表于 2018-10-24 13:31:30 | 显示全部楼层 |阅读模式
  1. 下载MongoDB
  2. 解压文件到某目录下,然后重命名:

  •   [root@localhost      var]# tar -xzvf mongodb-linux-x86_64-enterprise-rhel62-3.4.9.tgz
  •   [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下:

  •   [root@localhost var]# cd /data/db
  •   [root@localhost db]# mkdir mongodb_data
  •   [root@localhost db]# mkdir mongodb_log
  •   [root@localhost db]# ls
  •   mongodb_data  mongodb_log
  在MongoDB安装目录下的bin下使用mongod启动MongoDB,

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

  •   [root@localhost /db]# netstat -lanp | grep "27017"
  •   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客户端访问一下该数据库。

  •   [root@localhost      bin]# ./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命令了。

  •   [root@localhost bin]# ls
  •   bsondump  dbbak  mongo  mongod  mongodump  mongoexport  mongofiles  mongoimport  mongorestore  mongos  mongosniff  mongostat
  •   [root@localhost bin]# cp mongo /usr/bin/
  转到任一目录试下mongo命令:

  •   [root@localhost bin]# cd /
  •   [root@localhost /]# 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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-625985-1-1.html 上篇帖子: mongodb 常见问题处理方法收集 下篇帖子: MongoDB常用脚本配置方法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表