非关系型数据库中最像关系型数据库的数据库的安装与配置
《非关系型数据库中最像关系型数据库的数据库的安装与配置》要点: MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比拟复杂的数据类型. MongoDB服务端可运行在Linux、Windows或mac os x平台,支持32位和64位应用,默认端口为27017.保举运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB.[3] 下载安装wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz tar zxf mongodb-linux-x86_64-3.0.6.tgz mv mongodb-linux-x86_64-3.0.6 /usr/local/mongodb 创建数据目录,必需创建,不然启动失败.mkdir -p /data/db 创建配置文件,默认是没有模板的需要本身创建:添加:(启动参数都可以写到配置文件中) vim mongodb.conf #数据文件存放位置 dbpath=/data/db #日志文件存放位置 logpath=/usr/local/mongodb/logs/mongodb.logs #PID的路径 pidfilepath=/usr/local/mongodb/pid/mongodb.pid #端口号 port=27017 #后台运行 fork=true #日志输出方式:追加 logappend=true #打开28017网页端口(若不开启注释掉即可) rest=true ./mongod --config /usr/local/mongodb/bin/mongodb.conf 2017-06-11T16:20:40.499+0800 I CONTROL ** WARNING: --rest is specified without --httpinterface, 2017-06-11T16:20:40.499+0800 I CONTROL ** enabling http interface about to fork child process,waiting until server is ready for connections. forked process: 21179 child process started successfully,parent exiting(若启动不成功查看日志) 若数据库出现如不能连上,则是一个data目录下的mongod.lock文件的问题,删除mongod.lock,./mongod --config /usr/local/mongodb/bin/mongodb.conf --repair ###### --dbpath 数据库路径(数据文件) --logpath 日志文件路径 --master 指定为主机器 --slave 指定为从机器 --source 指定主机器的IP地址 --logappend 日志文件末尾添加 --port 启用端口号 --fork 在后台运行 --only 指定只复制哪一个数据库 --slavedelay 指从复制检测的时间间隔 --auth 是否需要验证权限登录(用户名和暗码) 查看logs tail -f logs 2017-06-11T00:12:09.875+0800 I NETWORK [initandlisten] connection accepted from 127.0.0.1:54624 #13 (1 connection now open) 2017-06-11T00:12:09.880+0800 I ACCESS [conn13] Unauthorized not authorized on admin to execute command { getLog: "startupWarnings" } 2017-06-11T00:12:28.804+0800 I NETWORK [initandlisten] connection accepted from 10.10.2.13:63225 #14 (2 connections now open) 2017-06-11T00:12:28.805+0800 I NETWORK [initandlisten] connection accepted from 10.10.2.13:63227 #15 (3 connections now open) 2017-06-11T00:12:28.805+0800 I NETWORK [initandlisten] connection accepted from 10.10.2.13:63226 #16 (4 connections now open) 2017-06-11T00:12:28.808+0800 I NETWORK [conn14] end connection 10.10.2.13:63225 (3 connections now open) 2017-06-11T00:12:28.831+0800 I NETWORK [conn15] end connection 10.10.2.13:63227 (2 connections now open) 2017-06-11T00:12:29.717+0800 I NETWORK [conn16] end connection 10.10.2.13:63226 (1 connection now open) (1 connection now open)#表明一个来自本机的连接 进入数据库的CLI管理界面show dbs : 查看数据库列表.数据库为空默认是不显示的,要想显示,必要把它插入至少一个文件 use 命令 :该命令将创建一个新的数据库 dropDatabase() 办法 : db.dropDatabase() 命令是用来删除一个现有的数据库.它将删除选定的数据库. 如果还没有选择任何数据库,然后它会删除依次往下默认的 ' mogodb' 数据库 如果删除指定的数据库,使用use进入数据库中在执行db.dropDatabase() 4.制作启动脚本 vim /etc/init.d/mongodb #!/bin/sh case $1 in start) /usr/local/mongodb/bin/mongod --maxConns 20000 --config /usr/local/mongodb/bin/mongodb.conf ;; stop) /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" ;; status) /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()" #以管理员身份进入管理后台 ;; *) echo "start|stop|status" ;; esac chmod +x /etc/init.d/mongod 启动开启两个端口,默认服务端是27017端口号,可以使用默认端口号ip:28017进行用户拜访: 6.MongoDB 备份(mongodump)与恢复(mongorestore) 备份: mongodump -h IP --port 端口 -u 用户名 -p 暗码 -d 数据库 -o 文件存在路径 -h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017 -d:必要备份的数据库实例,例如:test -o:备份的数据存放位置,例如:c:datadump,当然该目录必要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据. 如果想导出所有数据库,可以去掉-d. 恢复: mongorestore -h IP --port 端口 -u 用户名 -p 暗码 -d 数据库 --drop 文件存在路径 --drop的意思是,先删除所有的记录,然后恢复. 适用场景MongoDB 的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS 系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身.根据官方网站的描述,Mongo 适用于以下场景. ● 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性. ● 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层.在系统重启之后,由Mongo 搭建的持久化缓存层可以避免下层的数据源过载. ● 大尺寸、低价值的数据:使用传统的关系型数据库存储一些数据时可能会比拟昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储. ● 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库,Mongo 的路线图中已经包括对MapReduce 引擎的内置支持. ● 用于对象及JSON 数据的存储:Mongo 的BSON 数据格式非常适合文档化格式的存储及查询. MongoDB 的使用也会有一些限制,例如,它不适合于以下几个地方. ● 高度事务性的系统:例如,银行或会计系统.传统的关系型数据库目前还是更适用于必要大量原子性复杂事务的应用程序. ● 传统的商业智能应用:针对特定问题的BI 数据库会产生高度优化的查询方式.对于此类应用,数据仓库可能是更合适的选择. ● 必要SQL 的问题. 欢迎参与《非关系型数据库中最像关系型数据库的数据库的安装与配置》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |