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#将显示默认数据admin和local
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
linux安装mongodb(设置非root用户和开机启动)相关推荐
- root 启动mysql_非root用户随开机而启动mysql服务
非root用户随开机而启动mysql服务 今天验证了一下,非root用户随开机而启动msyql服务的脚本执行效果,特此简要记录如下: 环境: 192.168.142.130 mysql 5.6.41 ...
- 手机安装python3.5_zzw_非root用户安装python3.5
目的:不想改变linux 自带的python,只想要用特定的非root用户运行特定版本的python 1.进入非root用户 2.新建一个python3.5的安装目录 [a4_csbdc@bdc816 ...
- linux上验证cudnn是否安装成功_非root用户安装cuda与cudnn
很多小伙伴都和我抱怨(其实我自己也是)服务器上管理员已安装好显卡驱动或已安装的CUDA版本无法满足自己要求(要么太高要么太低),与自己需要的TensorFlow或者Pytorch版本不兼容,急的头皮发 ...
- linux python默认安装目录_非root用户在linux服务器自己目录下安装需要的python版本及其模块...
由于之前使用服务器现在不再使用,最近使用一台新的服务器.科研分析用到一个python 程序, lmfit需要在服务器上运行.由于该程序基于python 2.7,而服务器默认安装的python 为2.6 ...
- Linux设置非root用户启动程序
目录 1. 文件权限说明 2. 操作指引 3. 具体操作方法参考 1. 前提条件 2. 初始化非root用户 3. 修改api部署目录权限 1. 文件权限说明 从左至右,1-3位字母代表文件所有者(U ...
- 非root安装php nginx,非root用户安装nginx
众所周知,apache的80端口为系统保留端口,如果通过其他非root用户启动,会报错如下: nginx: [emerg] bind() to 0.0.0.0:80 failed(13: Permis ...
- Linux配置JDK(非root用户没有JDK,需切换到root用户)
1 查看当前JDK版本 执行命令: java -version 2 卸载JDK 2.1 查看已安装JDK 执行命令: rpm -qa | grep jdk 可看到返回结果中,有4个java开头的jdk ...
- 安装cuda 非root_linux非root用户下安装软件,搭建生产环境
之前的用实验室的服务器,因为某些原因,使用的用户没有root权限.linux的非root用户很多软件无法安装,非常的不方便.我的方法是使用brew来代替系统的包管理工具.brew是最先用在mac上的包 ...
- linux 非root tomcat,Linux非root用户安装jdk和tomcat
创建一个用户 sgmm,并在其用户目录里面安装 jdk和tomcat,安装过程如下. 一.增加 sgmm 用户和 sgmm 组 [root@lnx_test ~]# groupadd sgmm [ro ...
最新文章
- python函数整理
- 【.NET Core 跨平台 GUI 开发】第二篇:Gtk# 布局入门,初识HBox 和 VBox
- 【 .NET Core 3.0 】框架之二 || 后端项目搭建
- 草稿 9206 1128需处理
- 电脑安装了多个版本的 Go,怎么优雅切换各个使用版本?
- php程序员会什么,php程序员是什么
- jmeter 控制偏离_Jmeter 笔记(1)-安装 基本组件
- HTML分页插件功能实现
- 基于LPC2148的音频分析仪设计
- 用javascript实现节假日自动切换风格
- 小楼一夜听春雨···
- endnote如何设置文献样式
- android编译环境-软硬件要求
- 数据标注员需要专业系统的学习么?
- MySQL数据库的主主同步配置
- python面试题搜集
- SSM网约车管理系统毕业设计源码051630
- 莫比乌斯进阶:bzoj 3994 约数个数和(Mobius)
- 2020-01-08 Oracle 数据库储存生僻字
- Redis基本类型-结合Set
热门文章
- Linux 代码格式化工具 indent
- 如何在MyBatis中优雅的使用枚举
- 《言简意赅之Linux设备驱动编程》 前言
- React开发(275):dva debugger对应的值
- [react] 怎样将多个组件嵌入到一个组件中?
- 前端学习(2879):实现v-if和v-show设计分析 视图搭建
- “约见”面试官系列之常见面试题之第一百零四篇之vue优点(建议收藏)
- “约见”面试官系列之常见面试题之第九十八篇之vue-router有哪几种导航钩子(建议收藏)
- 前端学习(2335):angular之内置结构指令ngif
- 前端学习(2139):webpack的安装