本篇介绍二进制方式安装mongodb
docker安装可见另一篇
https://blog.csdn.net/oToyix/article/details/131983333?spm=1001.2014.3001.5502
vim /etc/profile
export PATH=/usr/local/mongodb/bin:$PATH
source /etc/profile
yum -y install libcurl openssl
wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.28.tgz
tar -xf mongodb-linux-x86_64-rhel70-4.0.28.tgz -C /usr/local/
cd /usr/local/
ln -s mongodb-linux-x86_64-rhel70-4.0.28 mongodb
mkdir /usr/local/mongodb/{data,logs}
cd /usr/local/mongodb/
vim mongodb.conf
#端口号
port=27017
#db目录
dbpath=/usr/local/mongodb/data
#日志目录
logpath=/usr/local/mongodb/logs/mongodb.log
#后台
fork=true
#日志输出
logappend=true
#允许远程IP连接
bind_ip=0.0.0.0
#开启认证
auth=true
参数说明:
参数 参数说明
–dbpath 数据存放路径
–logpath 日志文件路径
–logappend 日志输出方式
–port 启用端口号
–fork 在后台运行
–auth 是否需要验证权限登录 (用户名和密码)
–bind_ip 限制访问的 ip
–shutdown 关闭数据库
启动服务:
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
停止服务:
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf --shutdown
系统服务
vim /usr/lib/systemd/system/mongod.service
[Unit]
Description=mongodb
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongodb.conf
PrivateTmp=true
[Install]
systemctl daemon-reload
systemctl enable mongod
systemctl start mongod
设置用户名、密码与数据库连接
通过向表admin中添加用户来设置
如添加root用户:
mongo
use admin
db.createUser({
user: 'root', // 用户名
pwd: '12345678', // 密码
roles:[{
role: 'root', // 角色
db: 'admin' // 数据库
}]
})
如创建需要的数据库:
use test
db.createUser({
user: 'test',
pwd: '12345678',
roles:[{
role: 'readWrite',
db: 'test'
}]
})
登录数据库:
// 方式一
mongo
use admin
db.auth(‘root’, ‘12345678’)
// 方式二
mongo admin -uroot -p12345678
注:
use test // 如果数据库不存在,则创建数据库,否则切换到指定数据库
常用命令:
show users // 查看当前库下的用户
db.dropUser(‘testadmin’) // 删除用户
db.updateUser(‘root’, {pwd: ‘87654321’}) // 修改用户密码
db.auth(‘root’, ‘87654321’) // 密码认证
1 数据库用户角色:read、readWrite
2 数据库管理角色:dbAdmin、dbOwner、userAdmin
3 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
4 备份恢复角色:backup、restore
5 所有数据库角色: readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、 dbAdminAnyDatabase
7 超级用户角色:root
---------------end