zoukankan      html  css  js  c++  java
  • 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。安装好之后默认只允许本地访问。限制访问的IP127.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] 

    关闭服务器。主要有两种方法:

    输入Ctrl+C关闭。这种关闭方式会等待当前进行中的的操作完成,所以依然是干净的关闭方式。

    2 登录数据库。然后输入下面的命令进行关闭

    > use admin

    switched to db admin

    > db.shutdownServer()

    server should be down...

  • 相关阅读:
    vue使用百度地图
    Genymotion模拟器使用camera
    angular集成tinymce
    react-native环境搭建
    linux系统下安装ssl证书(tomcat)
    vue图片上传及java存储图片(亲测可用)
    那些年vue踩过的坑
    垃圾分类装置仿真实训
    《报任安书》文言文化常识闯关游戏·网络版
    《报任安书》文言文化常识闯关游戏
  • 原文地址:https://www.cnblogs.com/zhanghongfeng/p/8030182.html
Copyright © 2011-2022 走看看