mongodb学习之:mongo安装以及远程访问
在linux下通过apt-get install mongo的方式一键式安装mongo
安装后mongo的配置文件位于/etc/mongodb.conf. 里面有mongo的各项配置,文件内容如下:重要的主要有下面几项:
1 dbpath:存放数据库文件的地方
2 logpath: 存放log的地方
3 bind_ip = 127.0.0.1。安装好之后默认只允许本地访问。限制访问的IP为127.0.0.1。如果要允许所有的地址访问。需要将此行注释掉
4 port:访问的端口号
5 auth=true (添加帐号,密码认证)
root@zhf-maple:/home/zhf# cat /etc/mongodb.conf
# mongodb.conf
# Where to store the data.
dbpath=/var/lib/mongodb
#where to log
logpath=/var/log/mongodb/mongodb.log
logappend=true
bind_ip = 127.0.0.1
#port = 27017
# Enable journaling, http://www.mongodb.org/display/DOCS/Journaling
journal=true
# Enables periodic logging of CPU utilization and I/O wait
#cpu = true
# Turn on/off security. Off is currently the default
#noauth = true
#auth = true
# Verbose logging output.
#verbose = true
# Inspect all client data for validity on receipt (useful for
# developing drivers)
#objcheck = true
# Enable db quota management
#quota = true
# Set oplogging level where n is
# 0=off (default)
# 1=W
# 2=R
# 3=both
# 7=W+some reads
#oplog = 0
# Diagnostic/debugging option
#nocursors = true
# Ignore query hints
#nohints = true
# Disable the HTTP interface (Defaults to localhost:27018).
#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
# Specify .ns file size for new databases.
# nssize = <size>
# Accout token for Mongo monitoring server.
#mms-token = <token>
# Server name for Mongo monitoring server.
#mms-name = <server-name>
# Ping interval for Mongo monitoring server.
#mms-interval = <seconds>
# Replication Options
# in replicated mongo databases, specify here whether this is a slave or master
#slave = true
#source = master.example.com
# Slave only: specify a single database to replicate
#only = master.example.com
# or
#master = true
#source = slave.example.com
# Address of a server to pair with.
#pairwith = <server:port>
# Address of arbiter server.
#arbiter = <server:port>
# Automatically resync if slave data is stale
#autoresync
# Custom size for replication operation log.
#oplogSize = <MB>
# Size limit for in-memory storage of op ids.
#opIdMem = <bytes>
# SSL options
# Enable SSL on normal ports
#sslOnNormalPorts = true
# SSL Key file and password
#sslPEMKeyFile = /etc/ssl/mongodb.pem
#sslPEMKeyPassword = pass
安装后之后输入mongo命令进入shell界面
root@zhf-maple:/home/zhf# mongo
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
Server has startup warnings:
2017-12-12T20:16:00.856+0800 I STORAGE [initandlisten]
2017-12-12T20:16:00.856+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-12-12T20:16:00.856+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-12-12T20:16:04.012+0800 I CONTROL [initandlisten]
2017-12-12T20:16:04.012+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-12T20:16:04.012+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-12-12T20:16:04.012+0800 I CONTROL [initandlisten]
可以通过db.system.users.find()来查询所有的用户
添加用户名和帐号
> db.createUser({user:'zhf',pwd:'123',roles:['userAdminAnyDatabase']})
Successfully added user: { "user" : "zhf", "roles" : [ "userAdminAnyDatabase" ]
设置远程连接:
配置文件修改如下:注释掉bind_ip,
#bind_ip = 127.0.0.1
port = 27017
添加路由开发27017端口
root@zhf-maple:/home/zhf# iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT
启动mong服务。
root@zhf-maple:/var/lib/mongodb# mongod --dbpath /var/lib/mongodb
2017-12-12T22:39:13.060+0800 I CONTROL [initandlisten] MongoDB starting : pid=16691 port=27017 dbpath=/var/lib/mongodb 64-bit host=zhf-maple
2017-12-12T22:39:13.061+0800 I CONTROL [initandlisten] db version v3.4.7
2017-12-12T22:39:13.061+0800 I CONTROL [initandlisten] git version: cf38c1b8a0a8dca4a11737581beafef4fe120bcd
2017-12-12T22:39:13.061+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
2017-12-12T22:39:13.061+0800 I CONTROL [initandlisten] allocator: tcmalloc
2017-12-12T22:39:13.061+0800 I CONTROL [initandlisten] modules: none
2017-12-12T22:39:13.061+0800 I CONTROL [initandlisten] build environment:
2017-12-12T22:39:13.061+0800 I CONTROL [initandlisten] distarch: x86_64
2017-12-12T22:39:13.061+0800 I CONTROL [initandlisten] target_arch: x86_64
2017-12-12T22:39:13.061+0800 I CONTROL [initandlisten] options: { storage: { dbPath: "/var/lib/mongodb" } }
2017-12-12T22:39:13.079+0800 E NETWORK [initandlisten] listen(): bind() failed Address already in use for socket: 0.0.0.0:27017
2017-12-12T22:39:13.079+0800 E NETWORK [initandlisten] addr already in use
2017-12-12T22:39:13.079+0800 E NETWORK [initandlisten] Failed to set up sockets during startup.
2017-12-12T22:39:13.079+0800 E STORAGE [initandlisten] Failed to set up listener: InternalError: Failed to set up sockets
2017-12-12T22:39:13.079+0800 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2017-12-12T22:39:13.079+0800 I NETWORK [initandlisten] shutdown: going to flush diaglog...
2017-12-12T22:39:13.079+0800 I CONTROL [initandlisten] now exiting
2017-12-12T22:39:13.079+0800 I CONTROL [initandlisten] shutting down with code:48
这里提示端口和地址已经被使用。通过netstat命令可以查看到确实有一个
root@zhf-maple:/var/lib/mongodb# netstat -anp|more
激活Internet连接 (服务器和已建立连接的)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 749/mongod
杀掉正在运行的进程:kill -9 749并再次重启服务:
root@zhf-maple:/var/lib/mongodb# mongod --dbpath /var/lib/mongodb
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] MongoDB starting : pid=16780 port=27017 dbpath=/var/lib/mongodb 64-bit host=zhf-maple
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] db version v3.4.7
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] git version: cf38c1b8a0a8dca4a11737581beafef4fe120bcd
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] allocator: tcmalloc
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] modules: none
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] build environment:
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] distarch: x86_64
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] target_arch: x86_64
2017-12-12T22:41:25.966+0800 I CONTROL [initandlisten] options: { storage: { dbPath: "/var/lib/mongodb" } }
2017-12-12T22:41:25.984+0800 I - [initandlisten] Detected data files in /var/lib/mongodb created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2017-12-12T22:41:25.984+0800 I STORAGE [initandlisten]
2017-12-12T22:41:25.984+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-12-12T22:41:25.984+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-12-12T22:41:25.984+0800 I STORAGE [initandlisten] wiredtiger_open config: create,cache_size=3417M,session_max=20000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten]
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten]
2017-12-12T22:41:27.103+0800 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongodb/diagnostic.data'
2017-12-12T22:41:27.104+0800 I NETWORK [thread1] waiting for connections on port 27017
2017-12-12T22:41:28.028+0800 I FTDC [ftdc] Unclean full-time diagnostic data capture shutdown detected, found interim file, some metrics may have been lost. OK
2017-12-12T22:41:50.776+0800 I NETWORK [thread1] connection accepted from 192.168.0.11:35718 #1 (1 connection now open)
2017-12-12T22:46:10.454+0800 I - [conn1] end connection 192.168.0.11:35718 (1 connection now open)
2017-12-12T22:46:54.889+0800 I NETWORK [thread1] connection accepted from 192.168.0.11:35734 #2 (1 connection now open)
代表服务开启成功。
在客户端上通过mongo 192.168.0.12:27017/admin 访问服务器的admin数据库
root@zhf-linux:~# mongo 192.168.0.12:27017/admin
MongoDB shell version: 2.6.10
connecting to: 192.168.0.12:27017/admin
Server has startup warnings:
2017-12-12T22:41:25.984+0800 I STORAGE [initandlisten]
2017-12-12T22:41:25.984+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2017-12-12T22:41:25.984+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten]
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-12-12T22:41:27.096+0800 I CONTROL [initandlisten]
>
关闭服务器。主要有两种方法:
1 输入Ctrl+C关闭。这种关闭方式会等待当前进行中的的操作完成,所以依然是干净的关闭方式。
2 登录数据库。然后输入下面的命令进行关闭
> use admin
switched to db admin
> db.shutdownServer()
server should be down...
mongodb学习之:mongo安装以及远程访问的更多相关文章
- MongoDB学习记录(一) - 安装、启动与建立数据库
简要说明一个基本概念:MongoDB中的三要素:数据库(database).集合(collection)和文档(document). 文档:类似于JSON对象,由字段(field)和值(value)组 ...
- MongoDB学习笔记——数据库安装及配置
MongoDB数据库安装 MongoDB官方下载地址:https://www.mongodb.com/download-center 首先需要根据Windows版本选择正确的MongoDB版本进行安装 ...
- MongoDB 学习笔记一 安装以及基础命令
一.MongoDB安装配置 1.获取最新版本号: wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.2.tgz 2.解压缩就可 ...
- MongoDB学习笔记~Mongo集群和副本集
回到目录 一些概念 对于Mongo在数据容灾上,推荐的模式是使用副本集模式,它有一个对外的主服务器Primary,还有N个副本服务器Secondary(N>=1,当N=1时,需要有一台仲裁服务器 ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- MongoDB学习笔记系列~目录
MongoDB学习笔记~环境搭建 (2015-03-30 10:34) MongoDB学习笔记~MongoDBRepository仓储的实现 (2015-04-08 12:00) MongoDB学习笔 ...
- Failed global initialization:FileNotOpen: Failed to open "C:\MongoDB\data\log\mongo.log" 安装MongoDB时卡死
在安装MongoDB的时候,下载了3.6版本,安装过程中发现到一半就卡死了,后面换了一个较低版本的才安装成功 这里是所有MongoDB版本的下载地址: https://www.mongodb.org/ ...
- MongoDB 学习记录(二)yum安装
前言:接着上篇继续学习MongoDB,这次学习的是在Linux下安装MongoDB 环境:centos7.3 安装版本:MongoDB4.0 官网安装教程地址 https://docs.mongodb ...
- MongoDB学习(1)--安装,基本curd操作
知识点: 1-MongoDB 安装,启动和卸载 2-基本概念 3-基本的增删改查操作(CURD) 来回顾总结一把学习的mongodb,如果有javascript基础,学习"芒果DB" ...
随机推荐
- iOS上实现圆角图片
UIImageView自带 //圆角设置 imageView.layer.cornerRadius = ;(值越大,角就越圆) imageView.layer.masksToBounds = YES; ...
- LeetCode OJ--Rotate Image
http://oj.leetcode.com/problems/rotate-image/ 将矩阵顺时针旋转90度.要求为原地算法. 注意对输入的测试,矩阵为空,长度为1,为2时…… #include ...
- 详解Java中的字符串
字符串常量池详解 在深入学习字符串类之前, 我们先搞懂JVM是怎样处理新生字符串的. 当你知道字符串的初始化细节后, 再去写String s = "hello"或String s ...
- 松鼠的新家(lca)
洛谷—— P3258 [JLOI2014]松鼠的新家 题目描述 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的 ...
- BZOJ1014火星人prefix Splay維護序列 + 字符串哈希
@[Splay, 哈希] Description 火星人最近研究了一种操作:求一个字串两个后缀的公共前缀.比方说,有这样一个字符串:\(madamimadam\), 我们将这个字符串的各个字符予以标号 ...
- Windows系统Python包的安装
本文针对于Python初学者,Python老鸟请绕道. 最近同时尝试在Windows10.MacOS.Ubuntu三个系统上安装Python相关的包,整体比较,Ubuntu最简单,Windows10最 ...
- Java-线程池总结
线程池的优点: 重用线程,减少线程创建和销毁的性能开销. 管理线程,并提供定时执行以及指定间隔循环执行等功能. Android中的线程来源于Java中的Executor,实现类是ThreadPoolE ...
- Maven设置代理
很多时候电信的网络对于出国不太稳定,针对一些库下载速度比较慢,所以在使用SSR出国时配置maven使用是一种不错的选择.当然,还有另一种选择,就是使用国内的镜像库. 操作步骤: 1.打开{M2_HOM ...
- 【css】设置div位于浏览器的最底层,离用户最远
有时候切换发现某块div一直悬浮在最上层,怎么设置div位于浏览器的最底层.离用户最远? <style> .in{ z-index: -1; } </style> 然后引用in ...
- Golang协程与通道整理
协程goroutine 不由OS调度,而是用户层自行释放CPU,从而在执行体之间切换.Go在底层进行协助实现 涉及系统调用的地方由Go标准库协助释放CPU 总之,不通 ...