手动上传方式

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. Nacos: Namespace 和 Endpoint 在生产环境下的最佳实践

    随着使用 Nacos 的企业越来越多,遇到的最频繁的两个问题就是:如何在我的生产环境正确的来使用 namespace 以及 endpoint.这篇文章主要就是针对这两个问题来聊聊使用 nacos 过程 ...

  2. android学习——Android Layout标签之-viewStub,requestFocus,merge,include

    定义Android Layout(XML)时,有四个比较特别的标签是非常重要的,其中有三个是与资源复用有关,分别是<viewStub/>, <requestFocus />, ...

  3. behavior planning——15.cost function design weightTweaking

    Designing cost functions is difficult and getting them all to cooperate to produce reasionable vehic ...

  4. Vue点击事件失效

    在做项目时给button添加click事件,发现没反应,但另外写了一个button添加同样的事件,却能触发.原因是使用了better-scroll,默认它会阻止touch事件.所以在配置中需要加上cl ...

  5. 漏洞: RHSA-2017:3075: wget security update

    该网址有解决方案 http://www.stumblingblock.cn/3102.html

  6. Python 基础课程大纲

      c0102_变量及数据类型.ipynb 1.数据类型概述 Python标准数据类型:Numbers数字,String字符串,List列表,Tuple元祖,Dici字典.布尔类型 # Numbers ...

  7. JPA+Postgresql+Spring Data Page分页失败

    按照示例进行如下代码编写 Repository Page<DeviceEntity> findByTenantId(int tenantId, Pageable pageable); se ...

  8. 2019-8-24-win10-uwp-读取文本GBK错误

    title author date CreateTime categories win10 uwp 读取文本GBK错误 lindexi 2019-8-24 16:2:27 +0800 2018-2-1 ...

  9. 如何让in/exists 子查询(半连接)作为驱动表?

    一哥们问我,怎么才能让子查询作为驱动表? SQL如下: select rowid rid from its_car_pass7 v where 1 = 1 and pass_datetime > ...

  10. linux主编号的动态分配

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