安装
brew install mongodb
mongodb 配置
启动
brew services start mongodb
创建管理用户的超级管理员账号
use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
然后添加其他数据库用户
use test
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)
官方启用autht的方式是添加--auth参数
mongod --auth --port 27017 --dbpath /data/db1
但是 想使用 brew services start mongodb --auth 不起作用
所以需要用下面这种方式启用auth验证。
修改配置文件,设置启用登录验证
vim /usr/local/etc/mongod.conf
配置文件:
systemLog:
destination: file
path: /usr/local/var/log/mongodb/mongo.log
logAppend: true
storage:
dbPath: /usr/local/var/mongodb
net:
bindIp: 127.0.0.1
security:
authorization: enabled
导入备份数据库
--noIndexRestore 这个会忽略以前的id,不然会报no indexes to restore
mongorestore --noIndexRestore 20170621
备份数据库命令
通过mongodump和mongorestore实现Mongodb备份和恢复
- -h:指明数据库宿主机的IP
- -u:指明数据库的用户名
- -p:指明数据库的密码
- -d:指明数据库的名字
- -c:指明collection的名字
- -o:指明到要导出的文件名
- -q:指明导出数据的过滤条件
mongodump -h 192.168.0.111 -u root -p root -d log -o /Users/solate/Downloads/dump/
数据库中某个collection导出
--type=csv 已csv格式导出,可以用excel打开, 默认json
mongoexport -h 192.168.0.111 -u root -p root -d mydb -c checklog -q "{'adminid':'11244'}" -f adminid,adminname,time,targetname --type=csv -o template_csv_new.csv
连接远程mongo
mongo root:root@192.168.0.111:27017/log
//连接本地
mongo --port 27017 -u "myAppDbUser" -p "myApp123" --authenticationDatabase "myAppDb"