方式一:使用tmpfs作为文件系统
方式二:使用ramfs作为文件系统
这两种方式的思路都差不多,使用一个内存模拟文件系统,由于替换了磁盘文件系统,数据就保留在内存中。
方式三:修改源码设置in_memory参数
其实wiredtiger本身就支持将数据保留在内存中不刷盘,MongoDB的内存引擎估计也是利用wt的这一特性。wiredtigerin文件中,wiredtiger_open()函数会传入配置信息config,函数前面的注释详细解释了有哪些配置项,其中就列出了in_memory配置,如下图说明。
如果修改源码传入in_memory=true编译还是会报错,提示incompatible argument in-memor。
报上述错误是因为开源版本对这个参数进行了检查,如果设置了就会传回错误码,修改方式很简单,令它不返回错误码就行了。
就这样我们将MongoDB改成了内存数据库。
由上至下的文件位置分别在:
src/third_party/wiredtiger/src/include/wiredtigerin
src/mongo/db/storage/wiredtiger/wiredtiger_kv_enginecpp
src/third_party/wiredtiger/src/conn/conn_ckptc
最近重新使用这个内存数据库,发现报出新的错误,提示in_memory与log不能同时设置,这个log的设置默认为true,如果指定nojournal,那么会置为false。不过先检查后重置,所以报错。
解决方法是在检查之前就加入log=(enabled=false)
方法/步骤
1
打开百度首页,搜索“MongoDB”,如下图所示:
2
网站主页中,点击“DOWNLOAD MONGODB”,并下载最新稳定版本,如下图所示:
3
下载下来的是一个msi安装文件,点击进行安装,默认安装到C:\Program File或C:\Program Files (x86)文件夹内,如下图所示:
4
配置环境变量,右键“我的电脑”->"高级系统设置"->"高级"->"环境变量",在系统变量中找到Path变量值,进行修改,在末尾追加 ;C:\Program Files (x86)\MongoDB\bin,(当然你也可以将第3步骤中的MongoDB文件夹拷贝到其他磁盘路径下,我就是这样做的),如下图所示:
5
为了验证环境变量配置成功,打开CMD命令提示符,输入 mongod -help,下面会罗列一些列的配置参数,说明已成功,如下图所示:
6
在MongoDB文件夹下和bin目录同级目录下,新建一个data文件夹,data文件夹下再分别新建一个db和log文件夹,分别用来存放数据文件和日志文件,如下图所示:
7
在命令行中输入以下内容
mongod --dbpath "F:\MongoDB\data\db" --logpath
"F:\MongoDB\data\log\MongoDBlog" --install --serviceName "MongoDB"
这里是日志路径和数据路径,具体的路径根据自己数据和日志文件的文件路径相应进行修改,这里MongoDBlog就是开始建立的日志文件,--serviceName "MongoDB" 服务名为MongoDB。这样就在Windows下成功建立了MongoDB的服务,如下图所示:
8
在“运行”中输入“servicesmsc”,打开“服务”管理界面,可以看到MongoDB这个服务,点击列表中的“MongoDB”,再点击“启动”按钮,就将MongoDB成功启动了
MongoDB是一个面向文档的数据库,属于NoSQL数据库,它使用类似JSON的文档和schemata。
MongoDB的默认接口是(CLI)命令行,新用户很难像专业人员那样处理数据库。因此,有一些MongoDB管理工具来提供GUI界面以提高生产力。就像phpmyadmin为MySQL/MariaDB数据库提供基于>
Linux下mongo数据库的安装及通过shell命令行连接,案例如下:
1、下载运行压缩文件,不用编译安装,解压后,简单配置就可以使用了。
wget #新建几个必须的工作目录2、运行mongod
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data \--logpath=/usr/local/mongodb/logs/mongodblog \
--repairpath=/usr/local/mongodb/repair \
--journal --fork
#mongod命令参数解析:
#--dbpath:存储数据目录
#--logpath:日志目录
#--journal:为了提高单机版的durability,mongodb会提前为journal file分配空间,可以在数据库目录下面的journal/找到
#--fork 选项将会通知 mongod 在后台运行
#打开日志文件,如果在文件尾部看见“等待连接”的提示,则说明mongodb已经正常启动
tail -f logs/mongodblog
Mon Apr 30 07:51:08 [initandlisten] waiting for connections on port 27017
3、用shell脚本命令行连接数据库
/usr/local/mongodb/bin/mongoMongoDB shell version: 207
connecting to: 127001:27017/test
>
以上就是关于如何将MongoDB改造成内存数据库全部的内容,包括:如何将MongoDB改造成内存数据库、想配置mongodb 数据库,怎么配置、10个顶级Mongodb GUI工具,以图形方式管理数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)