资讯专栏INFORMATION COLUMN

服务器(CentOS)安装配置mongodb

or0fun / 1820人阅读

摘要:安装须知下载地址官网下载须知知识安装过程服务器下载安装包下载解压移动到需要存放的目录下配置环境变量,直接执行此命令,只会创建出临时的环境变量,即重新断开连接服务器后会失效环境变量持久化配置需要将路径添加到系统路径

安装须知

mongo DB下载地址mongodb官网下载

Linux须知知识:

安装过程

服务器下载安装包

下载: curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-4.0.6.tgz;

解压:tar -zxvf mongodb-linux-x86_64-rhel62-4.0.6/;

移动到需要存放的目录下mv mongodb-linux-x86_64-rhel62-4.0.6/ /usr/local/mongodb

配置环境变量:export PATH=/usr/local/mongodb/bin:$PATH,直接执行此命令,只会创建出临时的环境变量,即重新断开连接服务器后会失效;

环境变量持久化配置:需要将mongod路径添加到系统路径中,

/etc/profile文件中,添加 export PATH=/usr/local/mongodb/bin:$PATH;

执行source /etc/profile,使系统环境变量立即生效

验证是否安装成功:mongod --version

db version v4.0.6
git version: caa42a1f75a56c7643d0b68d3880444375ec42e3
OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013
allocator: tcmalloc
modules: none
build environment:
    distmod: rhel62
    distarch: x86_64
    target_arch: x86_64

mongod启动配置 1. 创建数据库存放和日志目录

因为MongoDB的数据存储在data目录的db目录下,而该目录在安装过程中并不会自动创建,所以需要手动创建data目录,并在data目录中创建db目录。

mongoDB启动默认使用的数据哭存储目录是根目录/data/db;当然也可以在其他目录下创建,然后通过--dbpath来指定;

根目录下创建:mkdir -p /data/db;这里为了后期好查找,就不创建在根目录下,而是放在mongodb目录下/usr/local/mongodb/data/db

日志目录创建/usr/local/mongodb/logs

2. 配置mongod启动文件

/usr/local/mongodb/etc下创建配置文件mongod.config:

dbpath=/usr/local/mongodb/data   # 数据库存放位置(之前创建的)
logpath=/usr/local/mongodb/logs/mongodb.log   # 数据库日志存放位置(之前创建的)
port=27017
fork=true   #后台运行
auth=false  # 初次配置先关了权限验证登陆模式
journal=false
3. 启动mongod

启动:mongod -f /usr/local/mongod/etc/mongod.config;

进入数据库管理命令界面:mongo

创建数据库管理角色

db.createUser({user:"root",pwd:"1234567",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]})

运行结果:

Successfully added user: {
    "user" : "root",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        }
    ]
}

退出服务,谨慎使用kill直接去杀掉mongodb进程,可以使用db.shutdownServer()关闭.

使用权限方式启动MongoDB,在配置文件中添加:auth=true , 然后启动:mongod -f /usr/local/mongod/etc/mongod.config

进入mongo shell,使用admin数据库use admin并进行验证db.auth("root","123456"),验证成功返回1失败返回0;如果不验证或验证失败,是做不了任何操作的

4.MongoDB设置为系统服务并且设置开机启动

在服务器的系统服务文件中添加mongod配置:vim /etc/rc.d/init.d/mongod,输入:

start() {
/usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/etc/mongod.config
}

stop() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongod.config --shutdown
}
case "$1" in
  start)
 start
 ;;

stop)
 stop
 ;;

restart)
 stop
 start
 ;;
  *)
 echo
$"Usage: $0 {start|stop|restart}"
 exit 1
esac

保存并添加脚本执行权限:chmod +x /etc/rc.d/init.d/mongod;

现在可以试试使用service mongod [start|stop|restart|try-restart|reload|force-reload| status]来直接管理MongoDB服务啦;

试试关闭服务:

[lwh@insnce-4ep /]# service mongod stop
2019-03-10T16:45:22.360+0800 I CONTROL  [main] log file "/usr/local/mongodb/logs/mongodb.log" exists; moved to "/usr/local/mongodb/logs/mongodb.log.2019-03-10T08-45-22".
killing process with pid: 10652

试试开启服务:service mongod start;ok!!

5. 本地远程连接服务器数据库

连接命令:mongo 42.114.29.206:27017/test -u user -p password

报错连接失败,拒绝连接;

原因:云服务器中安装MongoDB后(默认端口27017),默认绑定IP为127.0.0.1,这就导致外部无法访问;

决解: 修改mongod.config配置文件,添加bind_ip=0.0.0.0绑定公网IP;

重启mongodb服务service mongod restart

发现报错:

about to fork child process, waiting until server is ready for connections.
forked process: 11300
ERROR: child process failed, exited with error number 48

原因:应该是之前没有正常关闭mongodb引起的,比如直接 kill -9 导致;

决解:

找到data/mongod.lock文件,并删除mongod.lock

以修复方式启动mongodmongod -f usr/local/mongodb/etc/mongod.config --repair;

再次启动service mongod start

“积跬步、行千里”—— 持续更新中~,喜欢的话留下个赞和关注哦!

往期经典好文:

Koa日志中间件封装开发(log4js)

团队合作必备的Git操作

使用pm2部署node生产环境

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/109086.html

相关文章

  • ET框架服务端在阿里云CentOS7上的部署运行

    摘要:开放阿里云端口在阿里云控制台管理中,依次选择本实例安全组配置规则添加安全组规则,开放服务端端口同理,再开放资源服务器端口即可。 本文记录了ET服务端从Windows开发环境部署到CentOS7测试环境的全过程。 CentOS环境部署 CentOS部署主要涉及到.Net Core安装、MongoDB安装配置,因为使用到的.Net Core版本为2.1,故使用CentOS7作为测试环境。 ...

    Lorry_Lu 评论0 收藏0
  • 基于阿里云ECS Centos7 搭建个人网站(务器在大陆)

    摘要:远程连接服务器通过推荐填主机,然后点击用户身份验证,选择账号密码登陆就好了,当然也可以选择的方式登陆。 远程连接服务器 1. 通过Xshell 6(推荐) showImg(https://segmentfault.com/img/bVbuud3?w=663&h=610); 填主机,然后点击用户身份验证,选择账号密码登陆就好了,当然也可以选择ssh的方式登陆。 用这个软件的好处就是方...

    yhaolpz 评论0 收藏0
  • Centos Mongodb离线安装&配置远程连接&数据迁移

    摘要:就是说,恢复后,备份后添加修改的数据都会被删除,慎用实例 Centos Mongodb离线安装&配置远程连接&数据迁移 笔者的之前的centos服务器满了,这次准备迁移数据.目的是,扩容更大的磁盘分区,避免一次又一次的挂载新的磁盘.由于机器无法联网本次为离线安装 下载Mongodb网址为https://www.mongodb.com/dr/fastdl.mongodb.org/lin...

    韩冰 评论0 收藏0
  • centos7上安装mongodb(一)

    摘要:在上安装仅以此文记录一下我在上安装的过程。因为之前百度了一些教程结果并不理想,所以决定自己写一下。因此可能会对的运行产生一些影响。相关文件在默认情况下,将数据文件存储在文件下,将日志文件存储在文件下。可以在文件中配置这两个路径。 在centos上安装mongodb 仅以此文记录一下我在centos上安装mongodb的过程。因为之前百度了一些教程结果并不理想,所以决定自己写一下。本教程...

    bluesky 评论0 收藏0
  • centos7上安装mongodb(一)

    摘要:在上安装仅以此文记录一下我在上安装的过程。因为之前百度了一些教程结果并不理想,所以决定自己写一下。因此可能会对的运行产生一些影响。相关文件在默认情况下,将数据文件存储在文件下,将日志文件存储在文件下。可以在文件中配置这两个路径。 在centos上安装mongodb 仅以此文记录一下我在centos上安装mongodb的过程。因为之前百度了一些教程结果并不理想,所以决定自己写一下。本教程...

    1treeS 评论0 收藏0
  • CentOS 下三种 PHP 拓展安装方法

    摘要:下,有多种方式来安装拓展,主要有包管理式的安装安装,以及源码编译安装。而线上部署环境则推荐编译安装,方便调优。本文以扩展安装举例。建议版本为建议使用扩展版本为建议使用扩展可以使用扩展。 CentOS 下,PHP有多种方式来安装拓展, 主要有 包管理式的 yum 安装、pecl 安装, 以及源码编译安装。包管理式的安装卸载尤为方便,而源码编译式的安装则方便参数调优。一般搭建本机开发环境推...

    JiaXinYi 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<