CentOS7离线安装MongoDB
1. 下载安装包
前往MongoDB官网下载所需的MongoDB版本,本次以MongoDB4.0.28为例进行安装。
2. 解压&初始化文件夹&配置
2.1 将下载好的MongoDB包进行上传并解压
tar -zxvf mongodb-linux-x86_64-4.0.28.tgz
2.2 将MongoDB解压后的文件名重命名为mongodb
2.3 在mongodb文件夹下创建文件夹data用于存放数据文件
2.4 在mongodb文件夹下创建文件夹logs用于存放日志文件
2.5 在mongodb文件夹下创建文件夹conf用于存放配置文件
2.6 配置mongodb.conf文件
# 默认端口27017
port=27017
# 数据文件存放目录
dbpath=/home/mongodb/data
# 日志文件存放目录
logpath=/home/mongodb/logs/mongodb.log
# 以守护程序的方式启用,即在后台运行
fork=true
# 0.0.0.0监听所有地址,允许远程连接 127.0.0.1只允许本地连接
bind_ip=0.0.0.0
# 是否需要认证,如果启用,则需要创建mongodb账号密码,使用账号密码才可以远程访问
auth=true
3. 启动
3.1 启动命令
/home/mongodb/bin/mongod -f /home/mongodb/conf/mongodb.conf
3.2 查看是否启动成功
ps -ef | grep mongo
4. 连接mongo客户端
未开启认证
mongo
开启认证使用账号密码连接
mongo -u admin -p admin
可视化客户端连接工具Robo 3T
5. 创建用户
5.1 输入mongo 连接mongo
mongo
5.2 切换到admin数据库
use admin
5.3 创建用户
db.createUser({user:'admin',pwd:'admin',roles:['root']})
6. Mongodb命令
角色说明
read:允许用户读取指定数据库
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWrite:允许用户读写指定数据库
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
root:只在admin数据库中可用。超级账号,超级权限
主要命令
show dbs # 显示数据库列表
show collections # 显示当前数据库中的集合(类似关系数据库中的表)
show users # 显示用户
use <db name> # 切换当前数据库 如果数据库不存在则创建数据库
db.help() # 显示数据库操作命令 里面有很多的命令
db.foo.help() # 显示集合操作命令 同样有很多的命令 foo指的是当前数据库下 一个叫foo的集合 并非真正意义上的命令
db.foo.find() # 对于当前数据库中的foo集合进行数据查找(由于没有条件 会列出所有数据)
db.foo.find({a:1}) # 对于当前数据库中的foo集合进行查找 条件是数据中有一个属性叫a 且a的值为1
# MongoDB没有创建数据库的命令 但有类似的命令
# 如:如果你想创建一个"myTest"的数据库
# 这样就可以创建一个名叫"myTest"的数据库
use myTest
db.createCollection('user'))
其他命令
db.dropDatabase() # 删除当前使用数据库
db.cloneDatabase("127.0.0.1") # 将指定机器上的数据库的数据克隆到当前数据库
db.copyDatabase("mydb", "temp", "127.0.0.1") # 将本机的mydb的数据复制到temp数据库中
db.repairDatabase() # 修复当前数据库
db.getName() # 查看当前使用的数据库,也可以直接用db
db.stats() # 显示当前db状态
db.version() # 当前db版本
db.getMongo() # 查看当前db的链接机器地址
db.serverStatus() # 查看数据库服务器的状态