MongDB
database 库
collection 表
document 行
安装
1.下载安装包tgz
2.创建所需用户和组
useradd mongod
passwd mongod
3.创建mongodb所需目录结构
mkdir -p /mongodb/conf
mkdir -p /mongodb/log
mkdir -p /mongodb/data
4.解压安装包放到/mongodb
tar -zxf xxx.tgz
cp -r /data/mongdbXXX/bin /mongodb
chown -R mongod:mongod /mongodb
配置文件
vim /mongodb/conf/mongo.conf
systemLog:
destination: file
path: "/mongodb/log/mongodb.log"
logAppend: true
storage:
journal:
enable: true
dbPath: "/mongodb/data"
processManagement:
fork: true
net:
bindIp: 127.0.0.1 #后面换成主机IP
port: 27017
security: #开启这个就需要账号密码验证库
authorization: enabled
systemd
vim /etc/systemd/system/mongod.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
User=mongod
Type=forking
ExecStart=/mongodb/bin/mongod --config /mongodb/conf/mongo.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/mongodb/bin/mongod --shutdown --config /mongodb/conf/mongo.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动服务器后要切换mongod账号,登录
mongo
库操作
建库
use newdb;
删库,进入该库然后删除。
use newdb;
db.dropDatabase()
表操作
建表
db.createCollection("tb1")
插入数据
db.tb1.insert({id:1111})
也可以不用建表,直接插入,表自动创建
db.tb2.insert({id:2222})
查询
db.tb2.find()
db.tb2.find({id:22}).pretty() #格式化显示。
删除集合数据
db.tb2.remove({})
用户管理
每库管理自己的用户
mongodb连接时需要ip port uid pwd 验证库,
1.登陆要写验证库,没有写验证库时,默认是test.
2.管理账户放到admin下,普通用户写到要用的库下。
3.bindip:127.0.0.1.只能本地登陆,要想远程就绑网卡地址。
用户创建语法
user:用户
pwd:密码
roles:
role:角色
db:作用对象
role:root,readWrite,read
创建管理员用户
mongo
use admin
db.createUser(
{
user:"root",
pwd:"jinweichang",
roles:[
{role:"root",
db:"admin"
}
]
}
)
db.createUser({user:"root",pwd:"jinweichang",roles:[{role:"root",db:"admin"}]})
验证用户
db.auth("root","jinweichang")
创建普通用户
db.createUser({user:"jinwei",pwd:"jinweichang",roles:[{role:"readWrite",db:"jinwei"}]})
mongo -ujinwei -pjinweichang 172.20.170.229/jinwei
删除用户
#要先用管理员登陆
use jinwei
db.dropUser("jinwei")
查询用户
use admin
db.system.users.find().pretty()
登陆
mongo -uroot -pjinweichang 172.20.170.229/admin