mongodb管理

前面已经介绍了一些常用的命令(Mongodb基本知识和常用语法):


到最后的学习阶段就是要记录一下Mongodb日常管理会用到的语句,以备不时之需

 

          正常模式启动Mongodb


         在mongodb的启动bin目录输入以下代码:

  

./mongod

有端口的带端口  不用默认数据目录的话可以自己设置   

./mongod --port 18010 --dbpath /data/db

  注意 设置路径的话 要保证已经有该目录了 如果没有的话 要先用 mkdir -p 新建

例子 :

mkdir -p /data/db/data
mkdir -p /data/db/log


小技巧

从配置文件启动
MongoDB支持从文件获取配置信息.当需要配置非常多或者要自动化MongoDB的启动时会用到.
指定配置文件可以用-f或--config选项.
如:
mongod --config refactorConfig.txt
refactorConfig.txt内容如下:
#start MongoDB   
port = 10000
dbpath = /data/mongodb/data
logpath = /data/mongodb/log
rest = true
配置文件和命令行的功能一样
mongod --dbpath  /data/mongodb/data  --logpath  /data/mongodb/log  --rest --port 10000
配置文件的特点:
a.以#开头的行是注释
b.指定选项的语法是这种"选项=值"的形式.选项是区分大小写的.
c.命令行如--rest的开关选项,值要设为true

mongodb管理_第1张图片

mongodb管理_第2张图片

启动成功


          正确停止MongoDB

1.在mongodb的启动bin目录输入以下代码:

进入想关闭的服务器shell环境:

./mongo --port  18010
use admin
db.shutdownServer();

mongodb管理_第3张图片


2.直接在服务器的控制台 ctrl+c



安全认证(增加帐号密码认证):

用认证方式启动mongodb:

./mongod --auth


用--auth 认证方式启动的数据库必须有帐号密码才能访问到数据。

  admin数据库下面添加的用户  被视为超级用户(管理员)。
 其他数据库下面添加的用户,视为普通用户


添加:

    db.addUser(username, password)
或者
db.addUser(username, password, readOnly=false)


认证用户(检查用户密码是否可用)

> use admin
switched to db admin
> db.auth("admin","admin123");
1

使用用户名 密码登录


>mongo --port 20000 admin  -u admin -p

查询用户

 db.system.users.find()


删除用户:

db.system.users.remove({user:"admin"});






限制ip访问:

使用--bindip 参数, 只能被--bindip参数指定的ip地址访问.
如:
mongod --bindip localhost
 
  
 
  
 
  
 
 

数据导入导出:

导出为.dat格式:将my_mongodb 数据库中的user集合导出到 user.dat

 ./mongoexport -d my_mongodb -c user -o user.dat

导出为.csv格式:将my_mongodb 数据库中的user集合导出到user_csv.dat

./mongoexport -d my_mongodb -c user --csv -f uid,username,age -o user_csv.dat
参数说明:
 -csv 指要要导出为csv 格式
 -f 指明需要导出哪些例

导入user.dat到my_mongodb数据库

 ./mongoimport -d my_mongodb -c user user.dat

导入user_csv.dat到my_mongdb数据库 

./mongoimport -d my_mongodb -c user --type csv --headerline --file
user_csv.dat

参数说明:
 -type 指明要导入的文件格式
 -headerline 批明不导入第一行,因为第一行是列名
 -file 指明要导入的文件路径
注意:

CSV 格式良好,主流数据库都支持导出为CSV 的格式,所以这种格式非常利于异构数据迁移


Mongodb自带了mongodump和mongorestore这两个工具来实现对数据的备份和恢复。

mongodump能够在Mongodb运行时进行备份

参数说明:

-h:指明数据库宿主机的IP

-u:指明数据库的用户名

-p:指明数据库的密码

-d:指明数据库的名字

-c:指明collection的名字

-o:指明到要导出的文件名

-q:指明导出数据的过滤条件

用法:

mongodump -d test -o data/backup 

把test数据库备份到   data/backup路径下,备份成bson文件



mongorestore是Mongodb从备份中恢复数据的工具,它主要用来获取mongodump的输出结果,并将备份的数据插入到运行的Mongodb中。

参数说明:

-h:指明数据库宿主机的IP

-u:指明数据库的用户名

-p:指明数据库的密码

-d:指明数据库的名字

-c:指明collection的名字

-o:指明到要备份的文件名

-q:指明备份数据的过滤条件

mongorestore命令使用方法如下:

mongorestore -d test  data/backup/test/  

data/backup/test/路径下的bson文件还原到数据库test中






修复


MongoDB的存储方式不能保证磁盘上的数据还能用,因为可能有损毁.MongoDB内置的修复功能会试着恢复损坏的数据文件.
未正常停止MongoDB后应该修复数据库.修复数据库的方式很简单就是下面方法来启动服务器.
 mongod --repair

修复运行中的服务器上的数据库,要在shell用repairDatabases.
        
use test
db.repairDatabase()


监控:

 serverStatus命令

use admin
db.serverStatus();









你可能感兴趣的:(mongodb管理)