【数据库】mogodb
一. 在Ubuntu下最傻瓜的步骤(以下都在root用户下进行操作):
MongoDB安装很简单,无需下载源文件,可以直接用apt-get命令进行安装。
打开终端,输入以下命令:
sudo apt-get install mongodb
2.这时装好以后应该会自动运行mongod程序,通过"pgrep mongo -l "查看进程是否已经启动
3.在终端输入"mongo",然后回车进入数据库
(Over)
下面说下如何自己启动mongodb的程序。
二. 重启系统以后mongo程序要自己重新手动启动,步骤如下:
1.运行“locate mongo”命令查看系统默认把mongo装到了哪里,这里主要关注三个东西.
(1)一个是名为“mongod”的程序的位置(他相当于mongo数据库的Server,需要一直在后台运行,我的路径:/usr/bin/mongod);
(2)一个是mongo 数据库log日志文件的位置(log日志文件要查看到具体的文件名,具体用法在后面有介绍,我的路径:/var/log/mongodb/mongodb.log);
(3)一个是mongo的log日志的位置(我的路径:/var/log/mongodb/mongodb.log)。
2.先进入mongod所在的目录(/usr/bin/mongod),然后运行“./mongod --dbpath /var/lib/mongodb/ --logpath /var/log/mongodb/mongodb.log --logappend &”
--dbpath:指定mongo的数据库文件在哪个文件夹
--logpath:指定mongo的log日志是哪个,这里log一定要指定到具体的文件名
--logappend:表示log的写入是采用附加的方式,默认的是覆盖之前的文件
&:表示程序在后台运行
注意:如果是系统非正常关闭,这样启动会报错,由于mongodb自动被锁上了,这是需要进入mongodb数据库文件所在的目录(/var/lib/mongodb/),删除目录中的mongodb.lock文件,然后再进行上述操作。
安装好以后就可以通过编写C++程序进行相应的数据库操作了,编写简单的连接mongo的C++程序以及如果解决mongo动态库链接失败的情况在另一篇文章中介绍。
关闭/启动
sudo service mongodb stop sudo service mongodb start
设置数据库连接密码:
在跟目录创建文件夹: data/db
关闭现有服务。
sudo service mongodb stop
重新启动服务
$ mongod –auth
创建连接用户
$ mongo
>use admin
switched to db admin
>db.addUser("root","1983")
关闭服务(直接在 mongod 启动的命令窗口 “ctrl + C”)
重启服务:
$: mongod –auth
查看是否开始验证:、
$ mongo
MongoDB shell version: 2.0.4
connecting to: test
>use admin
switched to db admin
>show collections
Fri Mar 14 09:07:08 uncaught exception: error: {
"$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",
"code" : 10057
}
有提示 链接错误。
进行用户验证:
>db.auth("root","1983")
1
重新查看就可以查看数据集
>show collections
system.indexes
system.users
设置客户端连接:
默认安装的话只允许 127.0.0.1 的IP 连接.
需要修改/etc/mongodb.conf 注释下列记录:
打开文件:
$ sudo gedit /etc/mongodb.conf
注释记录:
#bind_ip = 0.0.0.0
mongodb 远程访问配置(ubuntu)
1、首先修改mongodb的配置文件 让其监听所有外网ip,如果不行,连接的时候肯定会有异常
编辑文件:vi /etc/mongodb.conf
修改后的内容如下:
bind_ip = 0.0.0.0 或者 #bind_ip 127.0.0.1
port = 27017
auth=true (添加帐号,密码认证)
2、/etc/init.d/mongodb restart
3、连接
#本地连接
/usr/local/mongodb/bin/mongo
#远程连接
/usr/local/mongodb/bin/mongo127.0.0.1/admin-u username -p password
4、给某个数据库添加用户访问权限
db.addUser('user','pwd')
db.auth('user','pwd')
5、删除用户
db.removeUser('username')