下载与安装
-
下载
- 服务器直接下载
``` # 下载到服务器 # 注意要选择 与 你自己的服务器版本符合的对应的mongoDB的版本下载 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz # 解压 tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.2.8.tgz ```-
本地下载再上传
可以点击下载压缩包,下载到本地,然后 通过 ftp 工具 上传到服务器
-
安装
# 创建 db 和 log 的存储文件的目录 mkdir -p /usr/local/mongodb/data mkdir -p /usr/local/mongodb/logs # 创建 启动 的 config 文件 touch /usr/local/mongodb/mongo.conf vim mongo.conf #加入以下内容 dbpath=/usr/local/mongodb/data logpath=/usr/local/mongodb/logs/mongo.log #事先创建该文件 logappend=true journal=true quiet=true port=27017 fork=true #后台运行 bind_ip=0.0.0.0 #允许任何 IP 进行连接 auth=false # 连接不需要 验证
启动配置 文件 讲解(编写启动配置文件)
dbpath=/usr/local/mongodb/data # db的存放目录,需要先创建文件夹
logpath=/usr/local/mongodb/logs/mongo.log #log 日志存放的地方,需要先创建(mongooDB 不会自动创建)
logappend=true
journal=true
quiet=true
port=27017 # 端口
fork=true #后台运行,线程永驻
bind_ip=0.0.0.0 #允许任何 IP 进行连接
auth=false # 连接不需要 验证
mongoDB 服务启动(此处暂时只讲 非auth登陆,下面会有 权限登陆)
mongod --config /usr/local/mongodb/mongo.conf
客户端启动 mongo Shell 的 基本使用(登陆,如何退出)
# 登陆
mongo
# 退出
exit
权限管理
-
创建不同权限的用户(admin 权限与 某个数据库的读写权限)
# 登陆 mongo use admin # 创建管理员账户 db.createUser( { user: "admin", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } ) # 创建 某个数据库的 读写 账户 use foo db.createUser( { user: "simpleUser", pwd: "simplePass", roles: [ { role: "readWrite", db: "foo" }, { role: "read", db: "bar" } ] } ) # 验证 use admin db.auth("aaa", "123456") #### 一定要切换过去,否则验证不通过 use foo db.auth("simpleUser", "simplePass") # 显示1 为验证成功 0 为验证失败 -
授权登陆(mongo Shell 登陆 ,Roto3T登陆,mogoose登陆)
-
mongo Shell 登陆
#启动时登陆 mongo --host 192.168.22.22 -u "myUserAdmin" --authenticationDatabase "admin" -p'abc123' #启动后登陆 mongo use admin db.auth('admin','password') 或则仅仅登陆一个 读写某个数据库的权限的账户 use test db.auth('test_admin','test_password') -
mogoose
# 仅仅有db_name 读写权限的 账户 DB_URL = `mongodb://user:password@192.168.22.22:27017/db_name`; mongoose.connect(DB_URL, { useNewUrlParser: true, useUnifiedTopology: true }); # admin 权限 DB_URL = `mongodb://rootadmin:rootpassword@192.168.22.22:27017/db_name?authSource=admin`;
mongoose.connect(DB_URL, { useNewUrlParser: true, useUnifiedTopology: true });
- Roto3T   -
-
修改账号
# 一
use admin
# 如果需要的话,认证登陆
db.auth('username','password')
# 修改 tank2 的账号的密码 为 test
db.changeUserPassword('tank2','test');
# 二
# 如果添加的新用户 与 老用户的名字一样,那么新用户的密码会 覆盖 老用户的密码
db.addUser('tank2','111')
备份 与 恢复
# 复制(?)
mongodump --forceTableScan -h"127.0.0.1:27017" -d poetry -o /Desktop/db_test/
# 备份 (ok)
./mongorestore -h 127.0.0.1:27017 -u user -p password --authenticationDatabase admin -d poetry --dir /Desktop/db_test/