守望者--AIR技术交流

标题: Ubuntu 下使用Mongodb 笔记 [打印本页]

作者: 破晓    时间: 2016-8-26 16:59
标题: Ubuntu 下使用Mongodb 笔记
一.安装Mongodb
1.打开命令窗口终端,进入 root
  输入 sudo -i
  然后输入密码

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

[attach]1446[/attach]

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


2.从仓库安装Mongodb


按照上面提示执行:


  1. apt install mongodb-server
复制代码


[attach]1447[/attach]
[attach]1448[/attach]

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


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


下一步  使用 Mongodb   看2楼



作者: 破晓    时间: 2016-8-26 17:13
本帖最后由 破晓 于 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
复制代码


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

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


[attach]1450[/attach]

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


[attach]1451[/attach]

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


进入指定数据库 :poxiao

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




作者: 破晓    时间: 2016-8-29 12:41
本帖最后由 破晓 于 2016-8-29 14:33 编辑

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

1.参看数据库列表:

  1. show dbs
复制代码
2.查看用户列表:
  1. show users
复制代码
[attach]1452[/attach]

默认提供2个数据库
admin
local

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

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

可以看到已经有了

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

查看当前使用的数据库

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


作者: 破晓    时间: 2016-8-29 14:28
本帖最后由 破晓 于 2016-8-29 14:33 编辑

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

[attach]1455[/attach]

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

[attach]1457[/attach]

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

2.关闭数据库:

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

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


[attach]1458[/attach]

作者: 破晓    时间: 2016-8-29 14:50
四.使用数据库(用户与认证)
1.认证
[attach]1459[/attach]


作者: 破晓    时间: 2016-9-2 15:27
本帖最后由 破晓 于 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技术交流 (http://www.airmyth.com/)