CentOS7.5x64bit安装MongoDB-Community-4.0.4-程序员宅基地

技术标签: java  运维  linux  # MongoDB  数据库  mongodb  centos  

记录Centos7下安装MongoDB4.0.4全过程,解决安装痛点。
(1)安装前准备:
         系统环境:TencentOSS-centos7.5x64bit,MongoDB4.0.4;
         
centos的版本号信息一般存放在配置文档中,在centos中,与其相关的配置文件中都有centos关键字,该文件一般存放在/etc/目录下,所以可以直接在改文件夹下搜索相关文件。
查看版本号:
ll /etc/*centos*
查看centos的版本号
cat /etc/centos-release
查看内核版本
查询操作系统内核版本信息
uname -r
查看操作系统位数
getconf LONG_BIT
(2)下载解压
(3)解压软件包
tar zxvf mongodb-linux-x86_64-rhel70-4.0.4.tgz -C /opt/
(4)将解压缩后的目录移动到/usr/local/下重命名为mongodb
cd /opt/
mv mongodb-linux-x86_64-rhel70-4.0.4/ /usr/local/mongodb
(5)创建数据存储目录和日志文件目录
mkdir -p /usr/local/mongodb/data/db
mkdir -p /usr/local/mongodb/logs
(6)编辑MondoDB启动配置文件
mkdir /usr/local/mongodb/confcd /usr/local/mongodb/conf
vim mongodb.conf
   dbpath=/usr/local/mongodb/data/db
   logpath=/usr/local/mongodb/data/logs/mongodb.log#这个要指定文件
   fork=true
   logappend=true#日志追加
   port=27017
   auth=true // 第一次安装的时候这里建议设置false,进行安全配置之后再改为true即可。
   bind_ip=0.0.0.0#远程连接要指定ip 不然无法连接。0.0.0.0不限制ip访问,并开启对应端口
ps aux |grep mongodb --查看mongodb进程
kill -15 PID --关闭mongodb服务
netstat -lanp | grep 27017 --检查端口是否已被启动
warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
可以采用如下两种方式解决:
1:若数据库出现如上不能连接的原因,可能是data目录下的mongod.lock文件问题,可以用如下命令修复:
./bin/mongod --repair
2:或者直接删除mongod.lock
rm -f /usr/local/mongodb/data/db/mongod.lock  
然后再启动 mongodb 服务:
./mongod --config mongodb.conf
如果以上两部依然解决不掉,则是路径文件,我们可以删除 /usr/local/mongodb/mongodb3.2.4/bin/data 目录及其子目录,并采用绝对路径的方式:
./mongod /usr/local/mongodb/mongodb3.2.4/bin/mongod --dbpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/db --logpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/logs/mongodb.log --fork
 
参数解释:
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加,即使用追加的方式写日志
--journal 启用日志
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
--syncdelay 数据写入硬盘的时间(秒),0是不等待,直接写入
--notablescan 不允许表扫描
--maxConns 最大的并发连接数,默认2000  
--pidfilepath 指定进程文件,不指定则不产生进程文件
--bind_ip 绑定IP,绑定后只能绑定的IP访问服务
(7)MongoDB 的可执行文件位于 bin 目录下,需要将其添加到 PATH 路径中
vim /etc/profile
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin //末尾处添加
source /etc/profile    //重新加载环境变量
(8)启动MongoDB
cd /usr/local/mongodb/bin/conf
mongod -f mongodb.conf
 
 
(9)设置开机启动
vim /lib/systemd/system/mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/conf/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemdctl操作参数
# 启动
systemctl start mongodb.service
# 查看状态
systemctl status mongodb.service
# 开机启动
systemctl enable mongodb.service
# 如果mongodb.service配置错误 在更改后记得重新加载文件
systemctl daemon-reload
ps aux |grep mongodb --查看mongodb进程
kill -15 PID --关闭mongodb服务
netstat -lanp | grep 27017 --检查端口是否已被启动
(10)连接MongoDB并访问
/usr/local/mongodb/bin/mongo
(11)第一次安装使用注意事项:
先以非授权模式启动MongoDB,将mongodb.conf文件中的 auth=true设置为false即可。
创建管理员
a.通非授权的方式启动MongoDB;
b.创建admin数据库
use admin
c.添加管理员用户
db.createUser({user:"admin",pwd:"admin@elves",roles:["root"]});
备注:用户名和密码都可以随意设定。
d.认证
db.auth("admin","admin@elves");
修改密码:
db.changeUserPassword("admin","admin@elves");
(12)可视化工具:adminMongo,地址: https://github.com/mrvautin/adminMongo
相关指令:cnpn install、npm start
国际化:
加密链接:
另一个可视化工具:MongoDBCompass:mongodb-compass-1.16.0-win32-x64.exe
下载地址:
双击运行后,会自动安装到C盘。
输入基本信息后,点击连接即可。
新建数据库,也可以点击左下角的加号按钮。
(12)基本指令: 大小写敏感
Centos7.5
进入MongoDB数据库
/usr/local/mongodb/bin/mongo
切换数据库
use admin;
授权
db.auth("admin","admin@elves");
查看全部数据库
show dbs;
创建数据库
use DATANMAE;
空的数据库不会回显。
在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
删除当前数据库
db.dropDatabase();
查看集合即查看表
show tables;
删除集合
db.test.drop();
创建集合
db.createCollection("qwer");
查看集合
show collections;
或者
show tables;
show方法
show dbs;   查看当前数据库
show tables;或者show collections;查看当前库下的collection
新建库
Mongodb的库是隐式创建,你可以use 一个不存在的库,然后在该库下创建collection,即可创建库
>user dcfs;
switched to db dcfs
>db.createCollection("qwer");
{"OK":1}
>show dbs;
dcfs
...
删除库
db.dropDatabase();
新建集合
collection允许隐式创建,可以在use一个库之后,然后向一个集合中插入一条数据,即可创建一个集合。
>show collections;
qwer
> db.news.insert({'name':'li','age':18});
WriteResult({ "nInserted" : 1 })
> show collections;
qwer
news
删除集合
db.collectionName.drop();
数据插入
db.collectionName.isnert(document)
document:为json对象
> db.news.insert({'name':'lei','age':20})
WriteResult({ "nInserted" : 1 })
>
@1: 增加单篇文档
Db.collectionName.insert({title:’nice day’})
@2: 增加单个文档,并指定_id
Db.collectionName.insert({_id:8,age:78,name:’lisi’})
@3. 增加多个文档
db.collectionName.insert(
[
{time:'friday',study:'mongodb'},
{_id:9,gender:'male',name:'QQ'}
]
)
 
(13)备份与恢复;
备份:
/home/mongodb/bin/mongodump -u root -p 123456 --authenticationDatabase mydb --port 27017 -o /home/MongoDBBack
安装路径 -u 数据库用户名 -p 密码 --authenticationDatabase 数据库名称 --port 端口号 -o 备份到哪里(路径)
Windows下MongoDB开启ip地址访问:
 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qiangguozhanlue/article/details/108191460

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法