配置Mongodb两种方式

手动上传方式

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
[[email protected]_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 密码

[[email protected]_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 服务

[[email protected]_node01#>> /data/db]#mongod --shutdown
[[email protected]_node01#>> /data/db]#mongod -f /usr/local/mongodb/conf/mongod.conf

登录:

[[email protected]_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.

原文地址:https://www.cnblogs.com/javalhy/p/12079591.html

时间: 2024-11-10 01:41:16

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

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

工作需要,搭建linux环境,网上搜了两种Hyper-V配置linux静态IP及上网的方式,记录一下,方便查阅,如下是桥接方式的配置: 本实例所用的各项资源说明,系统是windows10企业版64bit,虚拟机管理器使用自带的Hyper-V管理器,虚拟机安装的系统是CentOS7.如下图所示:   首先创建虚拟交换机.在Hyper-V管理器中的虚拟交换机管理器中新建虚拟交换机, 类型使用内部(之前使用外部一直没有成功,原因暂不明确),步骤图如下:   配置完上一步骤后,在网络连接中查看所有适配器

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

一.一般的配置方式 数据库连接配置在jdbc.properties文件中,这种方式有一个最大的缺点,数据库的配置信息对开发人员是完全可见的,十分方便程序员删库跑路.spring配置具体如下: 1.jdbc.properties文件: driver=com.mysql.jdbc.Driver url=jdbc:mysql://127.0.0.1:3306/test_table?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavi

JDK的path环境变量配置(两种方式)

1 path环境变量的作用及配置方式1 1.1 path环境变量的作用 1) 在JDK的bin目录下开发程序容易产生的问题 如果文件过多,不方便管理: 删除自己写过的不需要的文件,可能不小心把JDK自带的工具给删除了. 2) 如何解决问题呢 notepad这样的命令为什么在任何路径下都能够执行,原因是配置path环境变量. path配置的是可执行的文件.exe,配置后可以在不同的盘符下访问path路径下的这些可执行文件. 1.2 Path环境变量的配置方式1 右键点击桌面计算机→选择属性→选择高

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

网站自定义错误页面的设置,大家应该都知道它的重要性……不多说,下面带大家一步步在IIS下设置网站自定义错误页面…… 1.首先进入你的网站主页,找到[错误页](注意是IIS下的错误页不是.NET错误页),双击[错误页] 2.这样就进入了错误页面,点击[编辑]或者双击状态代码行,打开“编辑自定义错误页面” 3.填写状态码,响应操作处选择第二项[在此网站上执行],输入URL 4.查看错误页面相对根目录的位置,按照示例填写就可以的.然后依次设置其它页面 5.当然还可以通过修改配置文件(web.confi

mybatis3.0 配置等值连接两种方式:resultMap和resulttype

<!-- namespace: Mpper 接口全类名 --> <mapper namespace="com.zelin.mybatis.one2one.ClassesMapper"> <resultMap> <id property="id" column="c_id"> <result property="name" column="c_name"

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

在 Spring + SpringMVC 环境中,一般来说,要实现定时任务,我们有两中方案,一种是使用 Spring 自带的定时任务处理器 @Scheduled 注解,另一种就是使用第三方框架 Quartz ,Spring Boot 源自 Spring+SpringMVC ,因此天然具备这两个 Spring 中的定时任务实现策略,当然也支持 Quartz,本文我们就来看下 Spring Boot 中两种定时任务的实现方式. @Scheduled 使用 @Scheduled 非常容易,直接创建一个

MongoDB的使用学习之(七)MongoDB的聚合查询(两种方式)附项目源码

先来张在路上-- 此项目是用Maven创建的,没有使用Maven的,自己百度.谷歌去:直接用Junit测试就行,先执行里面的save方法,添加10000条测试数据提供各种聚合查询等. 废话不多说,上干货-- 一.MongoDB数据库的配置(mongodb.xml) 以下是我自己的配置,红色字体请改为自己本机的东东,你说不懂设置端口,不会创建数据库名称,不会配置用户名密码,那有请查阅本系列的第4节(MongoDB的使用学习之(四)权限设置--用户名.密码.端口==),你说懒得设置,那就@#¥%--

从源代码剖析Struts2中用户自定义配置转换器的两种方式——基于字段的配置转换器和基于类型的配置转换器(解决了实际系统中,因没有区分这两种工作方式的生命周期而引起的异常错误问题)

自定义类型转换器必须实现ongl.TypeConverter接口或对这个接口的某种具体实现做扩展 <<interface>>com.opensymphony.xwork2.conversion.TypeConverter à com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter à org.apache.struts2.util.StrutsTypeConverter 接口及类进行解析 TypeConverter(

redhat 7 配置yum源的两种方式

Redhat 7 配置yum源的两种方式 一.网络方式(虚拟机可以连接网络) 1.删除redhat原有的yum源 rpm -aq|grep yum|xargs rpm -e --nodeps #查找所有包含'yum'的rpm包,然后删除 --nodeps表示不依赖的删除 2.下载yum安装文件(使用的是163 的yum 源)        wget http://mirrors.163.com/centos/7/os/x86_64/Packages/yum-3.4.3-118.el7.cento