守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 267|回复: 5

[Mongodb] Ubuntu 下使用Mongodb 笔记

[复制链接]
  • TA的每日心情
    擦汗
    10 小时前
  • 签到天数: 433 天

    [LV.9]以坛为家II

    1739

    主题

    2091

    帖子

    12万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    457
    贡献
    24
    金币
    50924
    钢镚
    1419

    开源英雄守望者

    发表于 2016-8-26 16:59:13 | 显示全部楼层 |阅读模式
    一.安装Mongodb
    1.打开命令窗口终端,进入 root
      输入 sudo -i
      然后输入密码

    2.检查是否安装Mongodb
    输入:mongod



    系统提示:
    1. 程序“mongod”尚未安装。 您可以使用以下命令安装:
    2. apt install mongodb-server
    复制代码
    表示此时未安装Mongodb


    2.从仓库安装Mongodb


    按照上面提示执行:


    1. apt install mongodb-server
    复制代码





    中间提示  您希望继续执行吗? [Y/n] Y
    直接输入 Y  回车
    直到安装完成


    然后输入:
    1. pgrep mongo -l
    复制代码
    检查是否安装成功.


    下一步  使用 Mongodb   看2楼


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    10 小时前
  • 签到天数: 433 天

    [LV.9]以坛为家II

    1739

    主题

    2091

    帖子

    12万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    457
    贡献
    24
    金币
    50924
    钢镚
    1419

    开源英雄守望者

     楼主| 发表于 2016-9-2 15:27:29 | 显示全部楼层
    本帖最后由 破晓 于 2016-9-2 15:29 编辑

    Ubuntu 15.04 安装 MongoDB 3.x


    MongoDB官方文档中没有,但是实际上是可行的,需要如下步骤

    1. 安装key

    1. apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10  


    2. 添加源

    1. echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list  


    3. 更新源

    1. apt-get update  

    4. 安装mongodb

    1. apt-get install mongodb-org  

    5. 检查状态

    1. # systemctl status mongod  
    2. ● mongod.service - LSB: An object/document-oriented database  
    3.    Loaded: loaded (/etc/init.d/mongod)  
    4.    Active: active (running) since 六 2015-10-03 11:35:34 CST; 2min 8s ago  
    5.      Docs: man:systemd-sysv-generator(8)  
    6.    CGroup: /system.slice/mongod.service  
    7.            └─3365 /usr/bin/mongod --config /etc/mongod.conf  
    8.   
    9. 10月 03 11:35:33 dean-Aspire-S3-391 systemd[1]: Starting LSB: An object/document-oriented database...  
    10. 10月 03 11:35:33 dean-Aspire-S3-391 mongod[3358]: * Starting database mongod  
    11. 10月 03 11:35:34 dean-Aspire-S3-391 mongod[3358]: ...done.  
    12. 10月 03 11:35:34 dean-Aspire-S3-391 systemd[1]: Started LSB: An object/document-oriented database.  

    安装成功。


    来源:http://blog.csdn.net/csfreebird/article/details/48877359


    Ubuntu 升级 MongoDB 2.x 到 3.x


    删除掉原来的mongodb 2.x

    1. apt-get autoremove mongodb-org  
    2. reboot  

    这样/etc/init.d/mongodb 脚本也自动被删除了


    然后删除下面的配置文件

    1. /etc/apt/sources.list.d/10gen.list  


    移走旧版本mongodb的配置文件

    1. mv /etc/mongodb.conf /opt/  
    2. mv /etc/mongod.conf /opt/  

    安装3.x

    参考Ubuntu 15.04 安装 MongoDB 3.x

    添加mongod.conf文件

    如果安装后没有/etc/mongod.conf, 就手动复制一个3.x版本的配置文件过来


    启动不了,怎么办?

    确保目录存在并有合适的权限

    检查是不是mongodb的目录权限, 目录配置在/etc/mongod.conf中

    1. dbpath=/home/mongodb  
    2.   
    3. #where to log                                                                                                                                            
    4. logpath=/home/mongodb/log/mongod.log  
    5.   
    6. logappend=true  
    7.   
    8. #port = 27017                                                                                                                                            
    9.   
    10. # Listen to local interface only. Comment out to listen on all interfaces.                                                                               
    11. #bind_ip = 127.0.0.1     


    确保mongod.conf的两个目录存在

    1. mkdir -p /home/mongodb/log  


    修改/home/mongodb的所有权

    1. chown -R mongodb:nogroup /home/mongodb  


    其他可以通过在/etc/init.d/mongodb 脚本中添加set -x来判断是哪个命令出错


    无法使用mongo shell

    访问mongodb, 需要切换到mongodb帐号运行

    1. su - mongodb  
    2. mongo  

    或者 将/etc/mongod.conf的bind_ip设置注释掉


    使用mongo shell出现警告信息

    1. root@job:~# mongo  
    2. MongoDB shell version: 3.0.6  
    3. connecting to: test  
    4. Server has startup warnings:   
    5. 2015-10-11T21:30:25.509+0800 I CONTROL  [initandlisten]   
    6. 2015-10-11T21:30:25.509+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.  
    7. 2015-10-11T21:30:25.509+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'  
    8. 2015-10-11T21:30:25.509+0800 I CONTROL  [initandlisten]   


    用下面的命令关掉

    1. echo never >/sys/kernel/mm/transparent_hugepage/defrag  


    重新启动服务,再登录,警告消除。


    来源:http://blog.csdn.net/csfreebird/article/details/49051567

    守望者AIR技术交流社区(www.airmyth.com)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    10 小时前
  • 签到天数: 433 天

    [LV.9]以坛为家II

    1739

    主题

    2091

    帖子

    12万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    457
    贡献
    24
    金币
    50924
    钢镚
    1419

    开源英雄守望者

     楼主| 发表于 2016-8-26 17:13:30 | 显示全部楼层
    本帖最后由 破晓 于 2016-8-29 14:32 编辑

    二.使用Mongodb(启动和连接)

    1.建立Mongodb 空间 ,我的在  /home/poxiao/work/mongodb/
    里面创建几个文件夹:

    data     数据目录
    logs     日志目录
    conf     配置文件

    上面是现在需要使用的,你也可以创建
    bin
    etc
    等文件夹

    2.然后在conf 下面创建配置文件:mongodb.conf

    在里面输入:

    1. # mongodb.conf
    2. port=3333
    3. dbpath=/home/poxiao/work/mongodb/data
    4. logpath=/home/poxiao/work/mongodb/logs/mongodb.log
    5. logappend=true
    6. auth=false
    7. #enable th rest interface
    8. rest=true
    9. #后台进程
    10. fork=true
    复制代码



    具体参数说明参见:http://www.airmyth.com/thread-1857-1-1.html

    使用配置文件启动数据库:
    1. mongod -f /home/poxiao/work/mongodb/conf/mongodb.conf
    复制代码




    数据库启动完成。
    3.连接数据库  上面配置文件中设置的数据库端口为:3333,输入以下命令连接数据库:
    1. mongo 127.0.0.1:3333
    复制代码




    默认进入test数据库
    也可以输入
    1. mongo 127.0.0.1:3333/poxiao
    复制代码


    进入指定数据库 :poxiao

    进入数据库,你可以使用shell了



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    守望者AIR技术交流社区(www.airmyth.com)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    10 小时前
  • 签到天数: 433 天

    [LV.9]以坛为家II

    1739

    主题

    2091

    帖子

    12万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    457
    贡献
    24
    金币
    50924
    钢镚
    1419

    开源英雄守望者

     楼主| 发表于 2016-8-29 12:41:33 | 显示全部楼层
    本帖最后由 破晓 于 2016-8-29 14:33 编辑

    三.使用数据库(查看基本信息)

    1.参看数据库列表:

    1. show dbs
    复制代码
    2.查看用户列表:
    1. show users
    复制代码


    默认提供2个数据库
    admin
    local

    test数据库并没有显示出来,因为默认进入test数据库,但是因为此时test数据库是空的,只是在内存中创建,我们先随便创建一条数据

    1. db.createCollection('t', {size: 20, capped: 5, max: 100})
    复制代码


    可以看到已经有了

    3.查看数据库名称和状态还有连接地址等

    查看当前使用的数据库

    1. db.getName()
    复制代码
    db; db和getName方法是一样的效果,都可以查询当前使用的数据库
    显示当前db状态
    1. db.stats()
    复制代码
    当前db版本
    1. db.version()
    复制代码
    查看当前db的链接机器地址
    1. db.getMongo()
    复制代码

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    守望者AIR技术交流社区(www.airmyth.com)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    10 小时前
  • 签到天数: 433 天

    [LV.9]以坛为家II

    1739

    主题

    2091

    帖子

    12万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    457
    贡献
    24
    金币
    50924
    钢镚
    1419

    开源英雄守望者

     楼主| 发表于 2016-8-29 14:28:57 | 显示全部楼层
    本帖最后由 破晓 于 2016-8-29 14:33 编辑

    四.使用数据库(创建、删除与关闭)
    1.创建数据库:
    MongoDB 创建数据库的语法格式如下:
    1. use DATABASE_NAME
    复制代码
    如果数据库不存在,则创建数据库,否则切换到指定数据库。
    和上面一样,一开始只是在内存中创建空数据库,当数据库里面有了内容才会持久化保存



    虽然 使用 db.stats()  后  show dbs  可以看到新创建的数据库,但是里面没有内容重启后再查看依然没有



    只有在里面插入数据,才会真正保存

    2.关闭数据库:

    1. db.shutdownServer()
    复制代码
    必须在admin 数据库才能使用该命令

    3.删除数据库:
    1. db.dropDatabase()
    复制代码



    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    守望者AIR技术交流社区(www.airmyth.com)
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    10 小时前
  • 签到天数: 433 天

    [LV.9]以坛为家II

    1739

    主题

    2091

    帖子

    12万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    457
    贡献
    24
    金币
    50924
    钢镚
    1419

    开源英雄守望者

     楼主| 发表于 2016-8-29 14:50:11 | 显示全部楼层
    四.使用数据库(用户与认证)
    1.认证


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    守望者AIR技术交流社区(www.airmyth.com)
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2017-10-19 22:23 , Processed in 1.281250 second(s), 36 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

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