系统
本次是在阿里云的ECS上购买的ECS,作为mongodb的物理机。
[root@izbp1gziv9gnzxij6e3o8bz /]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
安装MongoDB Server
下载
# 下载mongoDB
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-6.0.5.tgz
# 解压
tar -zxvf mongodb-linux-x86_64-rhel70-6.0.5.tgz
我的下载到root目录下
创建数据目录
mkdir -p /mongodb/data /mongodb/log /mongodb/conf
touch /mongodb/conf/mongo.conf
vim /mongodb/conf/mongo.conf
# 然后将以下内容粘贴到mongo.conf中
conf的内容
systemLog:
destination: file
path: /mongodb/log/mongod.log # log path
logAppend: true
storage:
dbPath: /mongodb/data # data directory
engine: wiredTiger #存储引擎
journal: # 默认是写到缓存并且100ms持久化一次,当未启用journal日志时,可能会丢失。当启用后,数据安全性更好。类似mysql的redo持久化或redis的持久化机制。
enabled: true
net:
bindIp: 0.0.0.0 #绑定网卡,0.0.0.0是监听主机上所有的网卡。
port: 27017 # port
processManagement:
fork: true
添加环境变量
vim /etc/profile
添加以下内容
export MONGODB_HOME=/usr/local/soft/mongodb
PATH=$PATH:$MONGODB_HOME/bin
然后执行source /etc/profile 重新加载环境变量
source /etc/profile
启动 mongodb服务
[root@izbp1gziv9gnzxij6e3o8bz ~]# mongod -f /mongodb/conf/mongo.conf
about to fork child process, waiting until server is ready for connections.
forked process: 8441
child process started successfully, parent exiting
–auth:启动权限的方式启动数据库
[root@izbp1gziv9gnzxij6e3o8bz ~]# mongod -f /mongodb/conf/mongo.conf --auth
about to fork child process, waiting until server is ready for connections.
forked process: 2722
child process started successfully, parent exiting
安装 mongosh
wget https://downloads.mongodb.com/compass/mongodb-mongosh-1.8.0.x86_64.rpm
yum install -y mongodb-mongosh-1.8.0.x86_64.rpm
mongosh --host=localhost --port=27017
常用命令
命令 | 说明 |
---|---|
show dbs(show databases) | 显示数据库列表 |
use 数据库名 | 切换数据库,如果不存在创建数据库 |
db.dropDatabase() | 删除数据库 |
show tables(show collections) | 显示当前数据库的集合列表 |
db.集合名.stats() | 查看集合详情 |
db.createCollection(“emp”) | 创建集合 |
db.集合名.drop() | 删除集合 |
show users | 显示当前数据库的用户列表 |
show roles | 显示当前数据库的角色列表 |
show profile | 显示最近发生的操作 |
load(“xxx.js”) | 执行一个JavaScript脚本文件 |
exit (quit) | 退出当前shell |
help | 查看mongodb支持哪些命令 |
db.help() | 查询当前数据库支持的方法 |
db.集合名.help() | 显示集合的帮助信息 |
db.version() | 查看数据库版本 |
创建集合对应的参数说明
字段 | 类型 | 描述 |
---|---|---|
capped | 布尔 | (可选)如果为true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。 |
size | 数值 | (可选)为固定集合指定一个最大值(以字节计)。如果 capped 为 true,也需要指定该字段。 |
max | 数值 | (可选)指定固定集合中包含文档的最大数量。 |
客户端连接
mongosh 121.199.7.91:27017 -u xgp -p xgp --authenticationDatabase=admin
关闭服务
mongod --port=27017 --dbpath=/mongodb/data --shutdown