Herbert Gao

Never be satisfied

Hi there, I'm herbert gao, a Developer from China. Live in Chengdu, work in IBM.


Welcome to onboard

MongoDB基础篇

MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性。

安装

MongoDB社区版下载地址: https://www.mongodb.com/download-center#community

  将刚刚下载好的压缩文件mongodb-osx-ssl-x86_64-4.0.2.tgz拷贝到任意目录,然后进行解压操作,解压完成后复制一份到/Library目录下,然后切换到我们刚才新复制的mongodb安装目录/Library/mongodb-osx-ssl-x86_64-4.0.2,由于此目录下的bin目录存放着mongodb的全部命令脚本,所以需要赋予此目录执行权限.

# tar -zxvf mongodb-osx-ssl-x86_64-4.0.2.tgz
# cp -r mongodb-osx-ssl-x86_64-4.0.2 /Library/mongodb4.0.2
# chmod -R 755 bin

创建mongodb相关数据文件目录

在mongodb的安装目录下创建一个data目录统一相关文件(不同文件再创建文件夹管理)

数据文件

创建db子文件夹存放mongodb数据库文件,全路径/Library/mongodb4.0.2/data/db

# cd /home/mongodb-linux-x86_64-amazon-3.6.2
# mkdir /data
# cd data
# mkdir /db

日志文件

创建db子文件夹存放mongodb的相关日志,全路径/Library/mongodb4.0.2/data/log

# mkdir /log

文件目录赋予写权限

由于所有类型文件都存在写入操作,所以数据存放目录/Library/mongodb4.0.2/data需要执行写操作权限

chmod -R 777 /home/mongodb-linux-x86_64-amazon-3.6.2/data

  

配置

在/etc目录下创建配置文件mongodb.conf

#日志文件位置
logpath=/Library/mongodb-3.6/log/mongod.log

# 以追加方式写入日志
logappend=true

# 是否以守护进程方式运行
fork = true

# 只监听本地接口。注释掉听在所有接口。
bind_ip = 0.0.0.0

# 默认27017
#port = 27017

# 数据库文件位置
dbpath=/Library/mongodb-3.6/data

# 启用定期记录CPU利用率和 I/O 等待
#cpu = true

# 是否以安全认证方式运行,默认是不认证的非安全方式
#noauth = true
auth = true

# 详细记录输出
#verbose = true

# Inspect all client data for validity on receipt (useful for
# developing drivers)用于开发驱动程序时验证客户端请求
#objcheck = true

# Enable db quota management
# 启用数据库配额管理
#quota = true
# 设置oplog记录等级
# Set oplogging level where n is
#   0=off (default)
#   1=W
#   2=R
#   3=both
#   7=W+some reads
#diaglog=0

# Diagnostic/debugging option 动态调试项
#nocursors = true

# Ignore query hints 忽略查询提示
#nohints = true
# 禁用http界面,默认为localhost:28017
#nohttpinterface = true

# 关闭服务器端脚本,这将极大的限制功能
# Turns off server-side scripting.  This will result in greatly limited
# functionality
#noscripting = true
# 关闭扫描表,任何查询将会是扫描失败
# Turns off table scans.  Any query that would do a table scan fails.
#notablescan = true
# 关闭数据文件预分配
# Disable data file preallocation.
#noprealloc = true
# 为新数据库指定.ns文件的大小,单位:MB
# Specify .ns file size for new databases.
# nssize =

# Replication Options 复制选项
# in replicated mongo databases, specify the replica set name here
#replSet=setname
# maximum size in megabytes for replication operation log
#oplogSize=1024
# path to a key file storing authentication info for connections
# between replica set members
#指定存储身份验证信息的密钥文件的路径
#keyFile=/path/to/keyfile

运行

首先启动mongoDB服务

mongod --config /etc/mongod.conf

然后终端输入mongo

最近的文章

Java解决苹果设备无法播放视频流文件

  最近在做一个项目的时候接触到视频播放的功能。测试之后发现安卓设备和电脑浏览器(除Safari外)都可以正常播放,只有苹果设备不能正常播放,包括iOS和Safari浏览器,通过网上查找资料后解决问题,记录一下。问题原因  刚开始时代码返回的视频流是在一个请求里全部返回的,而苹果的浏览器会先发一次探测请求来获取文件大小,之后再发送多次请求来分段取数据流的数据,其实这里就是一个分段上传的思想(Accept-Ranges)。有两个很重要的点就是: 需要根据请求内容的不同做出不同的响应,第一次...…

iOS safari 视频继续阅读
更早的文章

Java Reflection 反射机制

  最近在做东西的时候再次用到Java的反射机制,突然想起自己在之前的项目上做动态方法调用的时候也用过反射,但是始终没搞明白是个什么东西,今天重新学习并整理记录下来。概念   JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。   JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,P...…

Spring继续阅读