linux安装mongodb(设置非root用户和开机启动)

官网地址:https://www.mongodb.com/

在官网上选择不同的linux系统得到不同的下载地址,我们用的下载地址是:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz

1.mongodb的安装及连接

cd opt/

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz    #下载

 tar zxvf mongodb-linux-x86_64-rhel62-3.4.3.tgz   #解压

cd ../

mkdir -p /usr/local/mongodb   #创建mongodb的安装目录

mv /opt/mongodb-linux-x86_64-rhel62-3.4.3 /usr/local/mongodb  #移动解压文件到安装目录

mkdir -p  /data/mongodb/data   #创建mongodb数据库存放路径

mkdir -p  /data/mongodb/log    #创建mongodb日志存放路径

touch/data/mongodb/log/mongodb.log    #创建mongodb日志文件

/usr/local/mongodb/bin/mongod –dbpath=/data/mongodb/data –logpath= /data/mongodb/log/mongodb.log –logappend –port 27017 --fork 

#启动mongodb服务

mongodb默认不需要输入用户名和密码,出于安全考虑,我们可以设置用户名和密码,详见mongodb用户权限管理)

./usr/local/mongodb/bin/mongo   #进入mongodb数据库控制台

show dbs#将显示默认数据adminlocal

db.shutdownServer()   #关闭mongodb服务

exit#退出控制台  

 

2.参数解释

启动服务时用到的如下:

--dbpath 数据库路径

--logpath 日志文件路径

--logappend 日志在日志文件末尾追加

--port 启用的端口号【可不写,默认是27017

--fork mongodb服务在后台运行

 

3.创建配置文件及脚本文件

为了更方便的配置及启动数据库,我们可以创建配置文件及脚本文件

touch /usr/local/mongodb/mongodb.conf  #创建配置文件

vi /usr/local/mongodb/mongodb.conf   #编辑

#端口

port=27017

#数据文件存放目录

dbpath= /data/mongodb/data

#日志文件路径

logpath=/data/mongodb/log/mongodb.log

#使用追加的方式写日志

logappend=true

#以守护程序的方式启用,即在后台运行

fork=true

#最大同时连接数 默认2000

maxConns=5000

#允许所有IP访问,如果要限制访问,可指定以逗号分隔的ip地址

bind_ip=0.0.0.0

#是否启用身份认证

auth=false

nohttpinterface=true

rest=false

Esc + :wq!  #保存并退出

 

touch start.sh  #创建启动脚本文件

vi start.sh #编辑

#!/bin/sh

bin/mongod -f mongodb.conf

Esc + :wq!  #保存并退出

chmod u+x start.sh  #赋予权限

./start.sh  #执行脚本启动服务

 

4.非root用户安装mongodb【出于安全考虑】

日常操作中为了避免一些误操作,更加安全的管理系统,通过使用的用户身份都为普通用户,而非root。当需要执行一些管理员命令操作时,再切换成root用户身份去执行。

 

linux切换用户知识补充:

A.su - (su为switch user,即切换用户的缩写),格式:su -l username(-l为login,即登录的缩写),-l可以将l省略掉,所以此命令常写为su - username。

如果不指定username(用户名),默认即为root,所以切换到root身份的命令即为:su - root 或是直接su -。

通过命令exit或者logout或者ctrl+d返回原用户身份。

B.通过su切换用户还可以直接使用命令su username,与su - username的不同之处如下:

su - username切换用户后,同时切换到新用户的工作环境中。

su username切换用户后,不改变原用户的工作目录及其他环境变量目录。

 

创建mongo用户:

useradd mongo

passwd mongo

 

一.从root切换到mongo身份,执行:su - mongo,然后执行以上mongodb的安装流程即可。

二.现在root用户下执行以上mongodb的安装流程,然后给mongodb的安装目录和数据库目录指定mongo用户,再切换到mongo用户,执行数据库连接即可。

    chown -R mongo:mongo /usr/local/mongodb

     chown -R mongo:mongo /data/mongodb/

     如果mongodb服务启动失败,则我们可以查看/data/mongodb/log/mongodb.log日志信息,以找到错误原因来解决问题。

 

5.远程连接mongodb失败

远程连接失败可能有两个原因:

A.mongodb的配置文件中的bind_ip默认为127.0.0.1,默认只有本机可以连接。解决方案:将bind_ip配置为0.0.0.0,表示接受任何ip的连接;如果要限制访问,可以指定以逗号分隔的多个ip地址。

B.防火墙阻止了27017端口。解决方案:

 vi /etc/sysconfig/iptables         // 将27017端口加入防火墙 

service iptables restart     // 重启防火墙

或者:

Linux关闭防火墙命令

1) 永久性生效,重启后不会复原

开启:chkconfig iptables on

关闭:chkconfig iptables off

2) 即时生效,重启后复原

开启:service iptables start

关闭:service iptables stop

 

6.设置开机启动mongodb

A.添加mongodb系统服务:vim etc/rc.d/init.d/mongod

B.输入以下内容:

ulimit -SHn 655350

#!/bin/sh

# chkconfig: - 64 36

# description:mongod

case $1 in

start)

/usr/local/mongodb/bin/mongod  --config /usr/local/mongodb/mongodb.conf

;;

  

stop)

/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.auth('root','123456');db.shutdownServer()"

;;

#db.auth('root','123456');当数据库进行了用户认证时,才需要加这一句,root和123456为用户名和密码

status)

/usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()"

;;

 

esac

C.保存完之后,添加脚本执行权限:chmod +x /etc/rc.d/init.d/mongod

D.启动mongodb服务:service mongod start

E.关闭mongodb服务:service mongod stop

F.将此服务设置为开机启动:chkconfig mongod on,然后重新启动机器进行测试。

G.验证mongodb是否启动:lsof -i :27017,检测端口是否在使用中。

 

7.mongodb添加到环境变量

vi etc/profile  #编辑环境变量文件

export PATH=$PATH:/usr/local/mongodb/bin

Esc + :wq!  #保存并退出

source /etc/profile  #使配置立即生效

mongo#现在在任何目录下执行mongo都可以进入控制台


 【最喜欢你一言不合就打赏的样子啦~~~哈哈哈】

转载于:https://www.cnblogs.com/nicolegxt/p/efef2a960fdf11627d9e3e8d70c1b5f9.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416919.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mvc NuGet 数据迁移

网上有很多的ef code first 的使用的方式,很乱,下面是我自己整理出来的,有什么不正确的地方还请指正,本人菜鸟一枚! 1、新建一个类库 》引用 右击 管理NuGet程序包 添加EntityFramework 类库中就会有添加一个App.conf…

jQuery.Form.js 异步提交表单使用总结

jQuery.Form.js 是一个用于使用jQuery异步提交表单的插件&#xff0c;它使用方法简单&#xff0c;支持同步和异步两种方式提交。 第一步&#xff1a;引入jQuery与jQuery.Form.js 1 <script src"jQuery.1.8.3.js" type"text/javascript"></script&…

图片异步上传,使用ajax上传图片

1、使用插件plupload 2、实现效果 3、HTML 1 <li> 2 <div class"default" data-disabled"false"><img src"" class"upImage"></div> 3 <input id"fileStorge2" value"" type&…

Android BitmapShader 实战 实现圆形、圆角图片

转载请标明出处&#xff1a;http://blog.csdn.net/lmj623565791/article/details/41967509&#xff0c;本文出自&#xff1a;【张鸿洋的博客】 1、概述 记得初学那会写过一篇博客Android 完美实现图片圆角和圆形&#xff08;对实现进行分析&#xff09;&#xff0c;主要是个自定…

前端学习(2387):组件库使用说明

main.js import Vue from vue import App from ./App.vue import router from ./router import ./styles/index.less // 加载组件库 import ElementUI from element-ui // 加载样式 import element-ui/lib/theme-chalk/index.css Vue.config.productionTip false // 注册组件…

深度理解 Virtual DOM

目录&#xff1a; 1 前言 2 技术发展史 3 Virtual DOM 算法 4 Virtual DOM 实现 5 Virtual DOM 树的差异&#xff08;Diff算法&#xff09; 6 结语 7 参考链接 1 前言 我会尽量把 Virtual DOM 应用场景、实现思路、算法讲述清楚&#xff0c;希望大家阅读后&#xff0c;能让你 深…

前端学习(2388):封装请求模块

request.js // axios import axios from axios// 创建实例 通过实例发送请求 const request axios.create({// 请求的基本路径baseURL: http://ttapi.research.itcast.cn/ }) // 导出 export default request//请求拦截器//响应烂机器/* import request from request.js requ…

oracle_数据库对象

转载于:https://www.cnblogs.com/jycjy/p/6728649.html