MongoDB基础之 安装
本篇来介绍MongoDB的安装。安装版本是3.4.18
如果安装老版本的mongodb,你会发现安装比较顺利,但是新版本的mongo安装稍微麻烦一点 ,主要是多了安全机制认证等步骤。
1、下载mongo
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.18.tgz
2、开始解压,我的习惯就是解压到/usr/local的目录下并重命名
[root@:vg_adn_tidbCkhsTest /usr/local/src]#tar -zxf ./mongodb-linux-x86_64-3.4.18.tgz -C /usr/local
[root@:vg_adn_tidbCkhsTest /usr/local/src]#cd ..
[root@:vg_adn_tidbCkhsTest /usr/local]#ls
bin etc games include lib lib64 libexec mongodb-linux-x86_64-3.4.18 redis-4.0.2 sbin share src
[root@:vg_adn_tidbCkhsTest /usr/local]#mv ./mongodb-linux-x86_64-3.4.18/ ./mongodb
3、开始建立data目录和log目录。
[root@:vg_adn_tidbCkhsTest /usr/local/mongodb]#mkdir ./data ./log
[root@:vg_adn_tidbCkhsTest /usr/local/mongodb]#ls
bin data GNU-AGPL-3.0 log MPL-2 README THIRD-PARTY-NOTICES
注意:bin目录下的mongod是服务器指令,而mongo是客户端指令
4、新建配置文件,作用是在启动mongo服务器的时候直接指定一个配置文件即可,否则启动的时候指定参数比较麻烦
[root@:vg_adn_tidbCkhsTest /usr/local/mongodb]#vim mongod.conf
[root@:vg_adn_tidbCkhsTest /usr/local/mongodb]#ls
bin data GNU-AGPL-3.0 log mongod.conf MPL-2 README THIRD-PARTY-NOTICES
mongod.conf文件的内容如下:
[root@:vg_adn_tidbCkhsTest /usr/local/mongodb]#cat mongod.conf
dbpath=/usr/local/mongodb/data/
logpath=/usr/local/mongodb/log/log.txt
注意:这里的文件名字“log.txt”这里我们必须在配置文件中写好,但是log目录下的“log.txt”这个文件系统会自动创建,我们不必在log目录下新建“log.txt”
5、启动服务端,最好在后台启动。 -f参数表示指定配置文件。&表示后台启动
[root@:vg_adn_tidbCkhsTest /usr/local/mongodb]#./bin/mongod -f /usr/local/mongodb/mongod.conf &
[] 7851[root@:vg_adn_tidbCkhsTest /usr/local/mongodb]#ps aux | grep mongo
root 7851 0.4 0.1 942704 46340 pts/0 Sl 02:20 0:00 ./bin/mongod -f /usr/local/mongodb/mongod.conf
root 7875 0.0 0.0 112704 960 pts/0 S+ 02:21 0:00 grep --color=auto mongo
6、启动客户端,客户端连接服务端
[root@:vg_adn_tidbCkhsTest:23.22.172.65:172.31.22.29 /usr/local/mongodb]#bin/mongo
MongoDB shell version v3.4.18
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.18
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten]
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten]
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten]
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten]
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-11-13T02:20:54.413+0000 I CONTROL [initandlisten]
> show dbs;
admin 0.000GB
local 0.000GB
看上去是没有问题,测试一下mongo也是可以用的,只是报错了不少警告,虽然不影响使用,但是我们最好解决一下。我们一个个的来看。
7、警告:WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always' 和 WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
关于这一条警告的解决方法我们可以参考官方的解决方法: https://docs.mongodb.com/manual/tutorial/transparent-huge-pages/
如果官方的解决方法比较麻烦的话,我们还可以参考这位网友的方法:https://blog.csdn.net/u013075468/article/details/51471033
8、出现警告:WARNING: Access control is not enabled for the database
原因分析:新版本的MongDB增加了安全性设计,推荐用户创建使用数据库时进行验证。如果用户想建立简单连接,则会提示警示信息
解决方法:
创建管理员账号并设置密码:
> use admin
switched to db admin
> db.createUser(
... {
... user:"admin",
... pwd:"123456",
... roles:[{role:"userAdminAnyDatabase",db:"admin"}]
... }
... )
Successfully added user: {
"user" : "admin",
"roles" : [
{
"role" : "userAdminAnyDatabase",
"db" : "admin"
}
]
}
然后kill掉进程并重启服务器
[root@:vg_adn_tidbCkhsTest /usr/local/mongodb]#bin/mongod --auth --port=27017 -f mongod.conf &
[] 8205
我们加上“--auth”参数表示访问数据库需要认证
然后使用客户端连接:
[root@:vg_adn_tidbCkhsTest /usr/local/mongodb]#bin/mongo -u "admin" -p "123456" --authenticationDatabase "admin"
MongoDB shell version v3.4.18
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.18
> exit
bye
现在看来都没有警告了。
如果大家对这条警告“WARNING: You are running this process as the root user, which is not recommended.”还有疑问的话,可以参考这个文章:https://www.cnblogs.com/ljai/p/4923229.html
但是我对上面的第8条做好之后就没有这条警告了。其实意思就是需要auth认证,对于生产环境中的mongo来说安全机制是比较严格的,并不像我们联系的那样子直接一个mongo命令就可以连接服务器,要用不同的用户不同的权限来连接才可以。
MongoDB基础之 安装的更多相关文章
- MongoDB基础介绍安装与使用
MongoDB已经日益成为流程和主流的数据库了,原因有两个:第一个就是技术优势,第二就是便利性,个人使用部署都很方便. MongoDB的优缺点,以及使用场景 优点: 面向文档存储(自由读高,不需要定义 ...
- windows下mongodb基础玩法系列一介绍与安装
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- MongoDB基础教程(安装、操作、配置)
MongoDB 下载安装 简易安装 # redhat, centOS sudo yum install -y mongodb # debian, ubuntu sudo apt install -y ...
- MongoDB基础篇1:安装和服务配置
一.下载 请前往官网下载community版本MongoDB,我当前可见最新版本是3.6.4 https://www.mongodb.com/download-center#community 如需下 ...
- mongodb基础用法
安装部分 mongodb配置方法 mongodb的安装目录 C:\MongoDB\Server\3.2\bin 创建以下目录 c:\mongo\log c:\mongo\db 创建mongodb的配置 ...
- MongoDB基础学习
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- windows下mongodb基础玩法系列二CURD附加一
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)
windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...
- 【MongoDB】MongoDB的下载 安装 配置及使用
windows系统 教程 1.下载地址 (官方提供根据系统位数选择对应的bit.exe下载) 由于自己win32系统不支持该官方版本,在网上又找了个 mongodb-win32-i386版本 p ...
随机推荐
- Vue怎么使用Echarts创建图表
摘要:在后台管理系统中,我们经常会遇到图表,比如说:柱形图,饼状图,折线图,雷达图等等,而用来写图表插件有很多,我这里主要介绍Echarts在项目里怎么使用,官网地址如下:https://echart ...
- Docker 入门 之基本命令
3 Docker 入门 首先确保docker 已成功安装在Linux 或windows 系统中 我们可以使用 docker info 查看docker是否成功安装和正常运行 运行我们第一个docker ...
- 百度前端技术学院-task2.18-2.19源码以及个人总结
源码:http://yun.baidu.com/share/link?shareid=2310452098&uk=1997604551 1.感觉在写js的时候,最好先理清思路,先干什么,在干什 ...
- 使用matlibplot.pyplot设置画图的坐标系
今天看了林轩田老师的感知机算法,心血来潮想要做个可视化过程,以便观察更新的过程. 现将学习成果做个记录,下面是画出来的图,这是初始的状态,后面会通过算法找到一条经过原点的直线将两堆数据分割开来. 直线 ...
- [转]分布式中Redis实现Session终结篇
本文转自:http://www.cnblogs.com/yanweidie/p/4763556.html 上一篇使用Redis实现Session共享方式虽然可行,但是实际操作起来却很麻烦,现有代码已经 ...
- 在MVC应用程序中,怎样删除上传的文件
在ASP.NET MVC应用程序中,怎样删除上传的文件. 由于上传时,真正文件是存储在应用程序某一目录,在数据库表中,只是存储其基本信息.在删除时,需要注意一下,由于没有事务可操作.Insus.NET ...
- MFC宏—DECLARE_DYNCREATE
DECLARE_DYNCREATE( class_name ) 参数: class_name 类的实际名字(不用引号括起来). 说明: 使用DECLARE_DYNCREATE宏可以使每个CObject ...
- 【C#数据结构系列】线性表
一:线性表 1.1:定义:零个或多个数据元素的有限序列 1.2: 线性表元素个数n定义为线性表的长度,n = 0称为空表,i 为数据元素ai在线性表中的位序. 1.3:满足线性表的条件:(1):有序, ...
- 理解JVM之垃圾收集器概述
前言 很多人将垃圾收集(Garbage Collection)视为Java的伴生产物,实际1960年诞生的Lisp是第一门真正使用内存动态分配与垃圾手机技术的语言.在目前看来,内存的动态分配与内存回收 ...
- ubuntu下安装 Sublime Text 3 及 PlantUML 绘图插件
ubuntu下只想做C++的程序代码编写,最开始选择了codeblock,主要目的是安装简单,集成度高,还可以调试,但是用的时候老是无故退出,改了半天的代码就这样丢失,挺苦恼的,可能跟自己装的系统比较 ...