安装mongodb
1)安装
mongdb数据库安装比较简单,直接输入
$sudo apt-get install mongodb
运行
wu@wu-VirtualBox:~$ mongo
MongoDB shell version: 2.4.9
connecting to: test
Server has startup warnings:
Thu Apr 7 08:50:31.670 [initandlisten]
Thu Apr 7 08:50:31.671 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Thu Apr 7 08:50:31.671 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Thu Apr 7 08:50:31.671 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Thu Apr 7 08:50:31.672 [initandlisten]
>
这时候mongodb就安装成功了。
2)设置mongodb自启动
默认情况下是配置文件启动的,如下
ubuntu@ubuntu:~$ ps aux | grep mongo
mongodb 8618 0.9 3.7 233952 35932 ? Ssl 07:19 1:11 /usr/bin/mongod --config /etc/mongodb.conf
ubuntu 11461 0.0 0.1 3748 1020 pts/0 S+ 09:19 0:00 grep --color=auto mongo
但是,机器重启之后mongod不会自启动,在运行会出现
ubuntu@ubuntu:~$ sudo reboot
ubuntu@ubuntu:~$ mongo
MongoDB shell version: 2.4.9
connecting to: test
Tue May 17 09:23:00.632 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145
exception: connect failed
这时候再通过配置文件启动,有了
ubuntu@ubuntu:~$ /usr/bin/mongod --config /etc/mongodb.conf
ubuntu@ubuntu:~$ mongo
MongoDB shell version: 2.4.9
connecting to: test
Server has startup warnings:
Thu Jan 1 00:00:11.969 [initandlisten]
Thu Jan 1 00:00:11.969 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Thu Jan 1 00:00:11.971 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Thu Jan 1 00:00:11.972 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Thu Jan 1 00:00:11.972 [initandlisten]
>
进入正题:如何开机自启动?
进入超级用户编辑/etc/rc.local,在最后一行的前面加入
mongod --dbpath=/var/lib/mongodb --fork --logappend --logpath=/var/log/mongodb/mongodb.log --journal
这时候在次开机重启的时候,没问题了,大功告成。
上面那句换成下面这句应该也行吧,没有尝试
/usr/bin/mongod --config /etc/mongodb.conf
安装c++driver
下载driver
到mongodb官网下载(https://github.com/mongodb/mongo-cxx-driver/tree/legacy-1.0.0)驱动,我用的驱动版本driver-1.0.0。安装教程参考https://github.com/mongodb/mongo-cxx-driver/wiki/Tutorial
安装
driver的安装依赖于scons这个工具,安装比较简单,直接运行
$sudo apt-get install scons
开始安装driver
$unzip mongo-cxx-driver-legacy-1.0.0.zip
$cd mongo-cxx-driver-legacy-1.0.0/
$sudo scons --prefix=/usr/local install
运行过程中可能会报错停止,这种情况一般就是一些依赖库没有装,比如boost库,接着再用apt-get安装相应的库,然后重新安装。如果没有报错,这样就算是安装完成了。
测试driver
官网(https://github.com/mongodb/mongo-cxx-driver/wiki/Tutorial)给出了测试用例,这里我就直接拿过来了,命名tutorial.cpp
#include <cstdlib>
#include <iostream>
#include "mongo/client/dbclient.h" // for the driver
void run() {
mongo::DBClientConnection c;
c.connect("localhost");
}
int main() {
mongo::client::initialize();
try {
run();
std::cout << "connected ok" << std::endl;
} catch( const mongo::DBException &e ) {
std::cout << "caught " << e.what() << std::endl;
}
return EXIT_SUCCESS;
}
但是,官网编译指令是这样的,我运行的时候不好使,老是报错。
g++ tutorial.cpp -pthread -lmongoclient -lboost_thread-mt -lboost_system -lboost_regex -o tutorial
询问大神之后,改成这样
ubuntu@ubuntu$ g++ tutorial.cpp -pthread -lmongoclient -lboost_thread -lboost_system -lboost_regex -o tutorial
如果没有报错,生成了可执行文件tutorial,运行
ubuntu@ubuntu$ ./tutorial
connected ok
恭喜你,安装成功了。
报错:我在编译过程报错了,全都是同样的错误,错误解决了,但是忘记截屏了,说的是一大堆关于ssl的未定义引用,也不知道怎么回事,然后将驱动卸载重装,稀里糊涂的就好了
题外话:装mongodb的php驱动,只需要apt-get install php5-mongo即可。