xshell 怎么在服务器上安装mongodb
1 复制Mongodb到指定服务器
到mongodb官方网站http://wwwmongodborg/downloads下载mongodb,解压并将目录考到需要安装的服务器上,然后进行配置。例如:
复制代码 代码如下:
[root@SHNHDX17-165 ~]# scp -r root@1031880:/data/web/dxm/mongodb/mongodb-linux-x86_64-245 data/web/
会将mongodb目录copy到101117165服务器的 ~/data/web目录下。
2 建立数据、日志目录
进入mongodb根目录,新建一个data目录存放数据、新建一个log目录存放日志,然后在该目录下新建一个日志文件,例如命名为mongodblog。
复制代码 代码如下:
[root@SHNHDX17-165 mongodb]# mkdir data
[root@SHNHDX17-165 mongodb]# mkdir logs
[root@SHNHDX17-165 mongodb]# cd logs
[root@SHNHDX17-165 logs]# touch mongodblog
3创建配置文件
在mongodb根目录新建一个配置文件,文件名任意,例如mongodbconf,然后在配置文件中添加配置信息:
复制代码 代码如下:
port=27017 代表端口号,如果不指定则默认为 27017
dbpath=/root/data/web/mongodb/data/ 数据库路径
logpath=/root/data/web/mongodb/logs/mongodblog 日志路径
logappend=true 日志文件自动累加,而不是覆盖
4启动Mongodb服务(根据配置文件)
执行命令
复制代码 代码如下:
[root@SHNHDX17-165 mongodb]# /bin/mongod -f mongodbconf
会出现以下信息:
复制代码 代码如下:
all output going to: /root/data/web/mongodb/logs/mongodblog
5使用客户端来连接该数据库
重新开启一个终端,然后切换到mongodb目录下
复制代码 代码如下:
[root@SHNHDX17-164 ~]# cd data/web/mongodb
然后输入
复制代码 代码如下:
[root@SHNHDX17-164 mongodb]# bin/mongo localhost:27017
MongoDB shell version: 245
connecting to: localhost:27017/test
Server has startup warnings:
Fri Nov 8 13:05:59823 [initandlisten]
Fri Nov 8 13:05:59823 [initandlisten] WARNING: You are running on a NUMA machine
Fri Nov 8 13:05:59823 [initandlisten] We suggest launching mongod like this to avoid performance problems:
Fri Nov 8 13:05:59823 [initandlisten] numactl --interleave=all mongod [other options]
Fri Nov 8 13:05:59823 [initandlisten]
>
连接成功。
6配置自启动(可选)
设置开机自动启动Mongodb
复制代码 代码如下:
[root@SHNHDX17-165 ~]# echo "/root/data/web/mongodb/bin/mongod -f
/root/data/web/mongodb/mongodbconf -fork " >> /etc/rclocal
设置环境变量
复制代码 代码如下:
vi ~/bash_profile
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:/root/data/web/mongodb/bin
可以有很多种方法,我就介绍两种最容易办到的方法。 前提条件就是两台机子同时开启,这样你在家里就可以连接办公室的电脑,再利用办公室的电脑查看期刊文库,查阅文献。这样说明白了吧。达到远程操控。
1开启两台机子上的3389,也就是远程控制。右键我的电脑属性--远程--把里面的两个钩钩上。3389就算是开启了。
2安装RemotelyAnywhere 这个软件。安装起来就行,很容易配置。也很直观使用。
3但是两种条件下,都必须打开虚拟主机,(如果你不会,可以叫单位的电脑管理员帮你进路由器设置虚拟主机。)也就是你单位的机子要到路由器上打开你的虚拟主机设置,指定到你的机子IP地址,这样在外面直接连接你们单位的IP就会直接定位到你的机子上面。至于如何得到外网IP地址很简单,打开hao123 的下面就有一个IP地址的查询,查询的IP就可以做为远程连接的IP了。
1启停止MongoDB
执行mongod,启MongoDB服务器mongod选项命令执行 mongod --help
主要选项:
--dbpath
指定数据目录默认值C:\data\db每mongod进程都需要独立数据目录要3mongod
实例必须3独立数据目录mongod启数据库目录创建mongodlock文件
文件用于防止其mongod纯净使用该数据目录
--port
指定服务器监听端口号默认端口27017要运行mongod进程则要给每指定同端口号
--logpath
指定志输路径文件夹读写权限系统文件存创建已文件覆盖掉
清除所原志记录想要保留原志需使用--logappend选项
--config
指定配置文件加载命令行未指定各种选项
2配置文件启
MongoDB支持文件获取配置信息需要配置非或者要自化MongoDB启用
指定配置文件用-f或--config选项
:
mongod --config refactorConfigtxt
refactorConfigtxt内容:
#start MongoDB
port = 10000
dbpath = "f:\mongo\db"
logpath = "f:\mongo\log\MongoDBtxt"
rest = true
配置文件命令行功能
mongod --dbpath "f:\mongo\db" --logpath "f:\mongo\log\MongoDBtxt" --rest --port 10000
配置文件特点:
a#行注释
b指定选项语种"选项=值"形式选项区写
c命令行--rest关选项,值要设true
3停止MongoDB
使用shutdown命令{"shutdown":1},命令要admin数据库使用shell提供辅助函数:
use admin
dbshutdownServer()
4 监控
使用管理接口,默认情况,启mongod启基本http服务器,该服务默认端口28017浏览器输入
localhost:28017些链接需要mongod启,用--rest选项启rest支持 才能进启rest支持,
mongod启使用--nohttpinterface关闭管理接口
5serverStatus
要获取运行MongoDB服务器统计信息,基本工具serverStatus命令
dbrunCommand({"serverStatus":1})
serverStatus返键解释:
"globalLock"值表示全局写入锁占用服务器少间(单位微秒)
"mem"包含服务器内存映射少数据,服务器进程虚拟内存驻内存占用情况(单位MB)
"indexCounters"表示B树磁盘检索("misses")内存检索("hits")数比值始升,要考虑加内存
"backgroundFlushing"表示台做少fsync及用少间
"opcounters"文档包含每种主要操作数
"asserts"统计断言数
6mongostat
serverStatus虽强,服务器监控说容易MongoDB提供mongostat
mongostat输些serverStatus提供重要信息,每秒输新行,比前看静态数据实性要
输列,别 inserts/s commands/s vsize %locked,与serverStatus数据相应
使用第三插件进行数据库监控
7安全认证
认证基础知识
每MongoDB实例数据库都用户,启安全性检查,数据库认证用户才能执行读或写操作
认证文,MongoDB普通数据作admin数据库处理admin数据库用户称超级用户(管理员)
认证,管理员读写所数据库,执行特定管理命令,listDatabasesshutdown
启安全检查前,至少要管理员帐号,shell连接没启安全检查服务器
面添加管理员refactor_root,test数据库添加两普通账号,其读权限shell创建读用户要
addUser第三参数设true调用addUser必须响应数据库写权限所数据库调用addUser,
没启安全检查
重启数据库,重启加入 --auth 命令行选项,启安全检查
第连接,能test数据库执行任何操作,作读用户认证,能查找,能插入数据能读写用户认证,能查找插入
数据,能使用show dbs 列举所数据库超级用户认证,所欲
8认证工作原理
数据库用户帐号文档形式存储systemusers集合文档结构
{
"_id" : ObjectId("5006a037dff37e149322fd83"),
"user" : "refactor_read_write",
"readOnly" : false,
"pwd" : "5a84584ac51d3f702461fce4c46b0d6b"//根据用户名密码散列
}
知道用户信息何存储及存储位置,进行管理工作
删除帐户:
> dbsystemusersremove({"user":"refactor_read"})
> dbauth("refactor_read","refactor")
0
用户认证,服务器认证连接绑定跟踪认证,说驱程序或工具使用连接池或故障切换
另节点,所认证用户必须每新连接重新认证
MongoDB传输协议加密,需加密,用ssh隧道或者类似技术做客户端服务器间加密
建议MongoDB服务器放防火墙或放应用服务器能访问网络MongoDB必须能外面访问,
建议使用--bindip选项,指定mongod绑定本ip址:能本机应用服务器访问,使用
mongod --bindip localhost
默认情况MongoDB启简单http服务器,便于查看运行,锁,复制等面信息,要想公些信息,用
--nohttpinterface关闭管理接口
用--noscripting完全禁止服务端javascript执行
9备份修复
MongoDB所数据都存放 数据目录 ,默认目录C:\data\db\启MongoDB候用--dbpath指定数据目录
论数据目录哪,都存放着MongoDB所数据要想备份MongoDB,要简单复制数据目录所文件即
除非服务器做完整fsync,允许写入,否则运行MongoDB创建数据目录副本并安全,备份能已经
破损,需要修复
运行MongoDB创建数据目录副本并安全,所先服务器关,再复制数据目录关闭数据库要停止业务
10mongodumpmongorestore
mongodump种能运行备份mongodump运行MongoDB做查询,所查文档写入磁盘
mongodump般客户端,所供运行MongoDB使用,即便处理其请求或执行写入没问题
mongodump使用普通查询机制,所产备份定服务器数据实快照服务器备份程处理写入,非明显
mongodump备份查询其客户端性能产影响
mongodump --help 获帮助
mongorestore备份恢复数据工具
mongorestore获取mongodump 输结,并备份数据插入运行MongoDB实例
:数据库test备份backup目录
mongodump -d test -o backup
使用mongorestore 恢复testNew 数据库
mongorestore -d testNew --drop backup/test/
-d指定要恢复数据库--drop指恢复前删除集合(若存),否则数据与现集合数据合并,能覆盖些文档
使用mongorestore --help获帮助信息
11fsync锁
虽使用mongodumpmongorestore能停机备份,却失获取实数据视图能力MongoDBfsync命令
能MongoDB运行复制数据目录损坏数据
fsync命令强制服务器所缓冲区写入磁盘选择锁住址数据库进步写入,知道释放锁止写入锁让
fsync备份发挥作用关键
shell,强制执行fsync并获写入锁:
dbrunCommand({"fsync":1,"lock":1})
,数据目录数据致,且数据实快照锁,安全数据目录副本作备份要数据库运行
快照功能文件系统,比LVM,EBS,用,拍数据库目录快照快
备份,解锁:
db$cmdsysunlockfindOne()
dbcurrentOp()
运行dbcurrentOp()确保已经解锁(初请求解锁花点间)
fsync命令,能非灵备份,用停掉服务器,用牺牲备份实性能要付代价些写入操作
暂阻塞唯耽误读写能保证实快照备份式通服务器备份
12属备份
虽面备份式灵,都没服务器备份复制式运行MongoDB,前面提备份技术仅能用
主服务器,用服务器服务器数据几乎与主服务器同步太乎属服务器性能或者能能读写,
于能随意选择面3种备份式:关停,转存或恢复工具或fsync命令服务器备份MongoDB推荐备份式
13修复
MongoDB存储式能保证磁盘数据能用,能损毁MongoDB内置修复功能试着恢复损坏数据文件
未停止MongoDB应该修复数据库修复数据库式简单 mongod --repair 启服务器
修复数据库实际程简单:所文档导马导入,忽略效文档完,重建索引数据量,花间,
所数据都要验证,所索引都要重建(MongoDB 18 版本引入志系统,使修复间打打缩短)
修复能比修复前少些文档,损坏文档删除
修复数据库能起压缩数据作用闲置控件(删除体积较集合,或删除量文档腾空间)修复重新利用
修复运行服务器数据库,要shell用repairDatabases
use test
dbrepairDatabase()
0条评论