手动上传方式

Mongodb-Centos7


安装之前准备工作

下载地址:https://www.mongodb.org/dl/linux

环境说明:下载地址

1系统虚拟机信息:CentOS7 X86_64位;

2软件及版本:mongodb-linux-x86_64-3.6.3.tgz;Xshell工具

MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包,地址如下:mongodb官网,进入官网,如下图所示:


点击Download,进入下载页面:

选择版本:Linux 64-bit legacy x64,点击DOWNLOAD,点击下载。保存到本地。

安装

启动CentOS7,xshell连接到CentOS7,并且将mongodb-linux-x86_64-3.6.3.tgz上传到CentOS7的/usr/local,具体上传filezilla工具。上传以后列表如下图所示:

解压缩:tar zxvf mongodb-linux-x86_64-3.6.3.tgz
重命名: mv mongodb-linux-x86_64-3.6.3 mongodb
删除: rm -rf mongodb-linux-x86_64-3.6.3.tgz

解压后然后将mongodb移动到/usr/local下的文件如下图所示

然后将mongodb移动到/usr/local下

mv mongodb /usr/local

进入mongodb目录,创建data目录,logs目录和log文件

cd mongodb && mkdir data logs && touch /usr/local/mongodb/logs/log && mkdir conf && cd conf && touch mongo.conf && vim mongo.conf
touch conf/mongo.conf

进入/usr/local/mongodb/bin目录下,启动mongodb服务

方式1:配置启动,将以下配置写入mongo.conf

# 配置文件
# 数据指定位置
dbpath = /usr/local/mongodb/data
# 日志指定位置
logpath = /usr/local/mongodb/logs/log
# 每个数据库将被保存在一个单独的目录
directoryperdb = false
# 日志追加形式写入
logappend = true
port = 27017
# 守护进程启动
fork = true
# 指定可连接的主机
bind_ip = 0.0.0.0
# 启动验证 [配置完验证用户后启用]
# auth = false 同时修改/etc/mongod.conf文件,对其进行修改,mongodb安装好后开机自启会加载
logpth dbpath bindip
之后重启

开机自启脚本

vim /etc/init.d/mongodb

脚本

#!/bin/sh
#
#chkconfig: 2345 80 90
#description: mongodb
start() {
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongo.conf
} stop() {
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongo.conf --shutdown
} case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac

生效

cd /etc/init.d
chkconfig --add mongodb
chmod +x mongodb
chkconfig mongodb on

启动

mongod -f /usr/local/mongodb/conf/mongo.conf

方式2:参数启动

cd bin/ && ./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/log --logappend --bind_ip=0.0.0.0  --port=27017 --fork
其中的--bind_ip=0.0.0.0是为了开启远程客户端连接

启动客户端,进入/usr/local/mongodb/bin目录下

./mongo


解决MongoDB登录的WARNING

1.安装完成运行mongodb警告内容如下:

2019-01-17T15:41:50.578+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten]
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** WARNING: This server is bound to localhost.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** Start the server with --bind_ip <address> to specify which IP
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten]
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten]
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten]
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'

警告一:

2019-01-17T15:41:50.578+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten]
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'

1.原因自查--解决:

# 在系统 /etc/rc.local 设置 transparent_hugepage 为 never
[root@server_node01#>> /data/db]#cat /etc/rc.local if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

2.添加该文件的可执行权限:

chmod +x /etc/rc.d/rc.local 

3.重启下系统:

reboot

警告二:

2019-01-17T15:41:50.578+0800 I CONTROL  [initandlisten] ** WARNING: This server is bound to localhost.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server.
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** Start the server with --bind_ip <address> to specify which IP
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the
2019-01-17T15:41:50.578+0800 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning.

设置允许访问该mongodb的地址 --bind_ip:

# 配置文件 添加 --bind_ip 指定可连接的主机

# 数据指定位置
dbpath = /data
# 日志指定位置
logpath = /data/db/logs/log
# 每个数据库将被保存在一个单独的目录
directoryperdb = true
# 日志追加形式写入
logappend = true
port = 27017
# 守护进程启动
fork = true
# 指定可连接的主机
bind_ip = 0.0.0.0
# 启动验证 [配置完验证用户后启用]
# auth = true 或者以这种格式启动
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/log --logappend --bind_ip=0.0.0.0 --port=27017 --fork

警告三:

WARNING: Access control is not enabled for the database.
Read and write access to data and configuration is unrestricted.

设置密码访问auth=True:

1.登录mongo设置admin 密码

[root@server_node01#>> /usr/local/mongodb]#mongo
> use admin
> db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]})

2.将配置文件 auth 认证打开

# 数据指定位置
dbpath = /data/db
# 日志指定位置
logpath = /data/db/logs/mongodb.log
# 每个数据库将被保存在一个单独的目录
directoryperdb = true
# 日志追加形式写入
logappend = true
port = 27017
# 守护进程启动
fork = true
# 指定可连接的主机
bind_ip = 0.0.0.0
# 启动验证 [配置完验证用户后启用]
auth = false

重启mongodb 服务

[root@server_node01#>> /data/db]#mongod --shutdown
[root@server_node01#>> /data/db]#mongod -f /usr/local/mongodb/conf/mongod.conf

登录:

[root@server_node01#>> /data/db]#mongo 127.0.0.1:27017/admin -u root -p

警告四:不要用root用户启动 MongoDB服务

2019-01-17T16:13:10.778+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.

配置Mongodb两种方式的更多相关文章

  1. 【Spring】SpringMVC非注解配置的两种方式

    目录结构: contents structure [+] SpringMVC是什么 Spring MVC的设计原理 SpringMVC配置的第一种方式 1,复制Jar包 2,Web.xml文件 3,M ...

  2. Hyper-V 下linux虚拟机静态IP上网配置的两种方式(2)

    工作需要,搭建linux环境,网上搜了两种Hyper-V配置linux静态IP及上网的方式,记录一下,方便查阅,如下设置网络共享方式: win10下使用hyper-v在本机安装linux虚拟机后,网络 ...

  3. Hyper-V 下linux虚拟机静态IP上网配置的两种方式(1)

    工作需要,搭建linux环境,网上搜了两种Hyper-V配置linux静态IP及上网的方式,记录一下,方便查阅,如下是桥接方式的配置: 本实例所用的各项资源说明,系统是windows10企业版64bi ...

  4. springmvc+druid+dataSource配置的两种方式

    一.一般的配置方式 数据库连接配置在jdbc.properties文件中,这种方式有一个最大的缺点,数据库的配置信息对开发人员是完全可见的,十分方便程序员删库跑路.spring配置具体如下: 1.jd ...

  5. IIS下自定义错误页面配置的两种方式(亲测可行)--IIS服务器

    网站自定义错误页面的设置,大家应该都知道它的重要性……不多说,下面带大家一步步在IIS下设置网站自定义错误页面…… 1.首先进入你的网站主页,找到[错误页](注意是IIS下的错误页不是.NET错误页) ...

  6. log4net配置的两种方式

    ----------文件配置:------------------- <?xml version="1.0" encoding="utf-8" ?> ...

  7. spring事务配置的两种方式

    spring所有的事务管理策略类都继承自org.springframework.transaction.PlatformTransactionManager接口. <!-- 事务管理器配置,单数 ...

  8. Spring Boot 中实现定时任务的两种方式

    在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Qua ...

  9. Spring Boot配置过滤器的两种方式

    过滤器(Filter)是Servlet中常用的技术,可以实现用户在访问某个目标资源之前,对访问的请求和响应进行拦截,常用的场景有登录校验.权限控制.敏感词过滤等,下面介绍下Spring Boot配置过 ...

随机推荐

  1. Python基础:24with语句

    一:with语句 在Python 2.6 中正式引入的with语句,是用来简化代码的.这与用try-except 和try-finally所想达到的目的前后呼应.try-except 和try-fin ...

  2. 【小程序案例】支付宝小程序-MQTT模器,IoT设备通过WSS接入阿里云IoT物联网平台

    支付宝小程序-MQTT模拟器通过WSS接入阿里云IoT物联网平台 小程序效果: 1. 准备工作 1.1 注册阿里云账号 开通阿里云账号,并通过支付宝实名认证 https://www.aliyun.co ...

  3. 基于TableStore的海量气象格点数据解决方案实战

    前言 气象数据是一类典型的大数据,具有数据量大.时效性高.数据种类丰富等特点.气象数据中大量的数据是时空数据,记录了时间和空间范围内各个点的各个物理量的观测量或者模拟量,每天产生的数据量常在几十TB到 ...

  4. vlc 网页插件的 使用与控制 API

    下面开始使用教程: html文档结构: <object class="vlc" type='application/x-vlc-plugin' events='True' w ...

  5. H3C Comware的作用

  6. 解决margin塌陷和margin合并

    <!doctype html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. [C#] Parallel.For的线程数

    Parallel.For会自动判断同时运行多少个线程,但你也可以进行干预. ParallelOptions可以设置Parallel.For最大的并发线程.缺省的最大线程数是CPU核数.这通常是不够多的 ...

  8. torch中的copy()和clone()

    torch中的copy()和clone() 1.torch中的copy()和clone() y = torch.Tensor(2,2):copy(x) ---1 修改y并不改变原来的x y = x:c ...

  9. java数组简介

    数组(Array)是Java 语言中内置的一种基本数据存储结构,通俗的理解,就是一组数的集合,目的是用来一次存储多个数据.数组是程序中实现很多算法的基础,可以在一定程度上简化代码的书写. 备注: 数组 ...

  10. linux主编号的动态分配

    一些主设备编号是静态分派给最普通的设备的. 一个这些设备的列表在内核源码树的 Documentation/devices.txt 中. 分配给你的新驱动使用一个已经分配的静态编号的机会 很小, 但是, ...