在CentOS 7服务器上安装MongoDB数据库,并设置开机启动。
下载安装包
- 打开MongoDB官网下载地址
- 选择对应的版本和系统环境,获取下载链接,如CentOS 7的下载链接为
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.9.tgz
- 运行
1 2 3
| wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.9.tgz tar zxvf mongodb-linux-x86_64-rhel70-3.4.9.tgz # 解压 mv mongodb-linux-x86_64-rhel70-3.4.9 /usr/src/mongodb # 移动
|
创建数据文件路径
1 2 3 4 5 6 7
| cd /usr/src/mongodb mkdir db mkdir logs
chmod -R 755 db chmod -R 755 logs chmod -R 755 bin
|
创建配置文件
1 2 3 4 5 6 7 8 9 10
| cd bin vi mongodb.conf
dbpath=/usr/src/mongodb/db logpath=/usr/src/mongodb/logs/mongodb.log port=27017 fork=true logappend=true nohttpinterface=true
|
启动测试
1 2 3 4 5 6 7 8 9 10
| cd /usr/src/mongodb/bin ./mongod -f ./mongodb.conf
./mongo 127.0.0.1
MongoDB shell version: 2.4.9 connecting to: 127.0.0.1/test
|
注意: 使用外部工具连接mongodb数据库前,应先开启vps的防火墙27017端口
1 2 3 4 5 6
| firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --permanent --query-port=27017/tcp
firewall-cmd --reload
|
设置开机自动启动
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| cd /lib/systemd/system vi mongodb.service
*********************************** [Unit]
Description=mongodb After=network.target remote-fs.target nss-lookup.target
[Service] Type=forking ExecStart=/usr/src/mongodb/bin/mongod -f /usr/src/mongodb/bin/mongodb.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/usr/src/mongodb/bin/mongod --shutdown -f /usr/src/mongodb/bin/mongodb.conf PrivateTmp=true
[Install] WantedBy=multi-user.target ***********************************
chmod 754 mongodb.service
systemctl start mongodb.service systemctl stop mongodb.service systemctl enable mongodb.service
|
添加管理员与用户认证
MongoDB数据库的用户权限分为以下四种:
- userAdminAnyDatabase 拥有分配角色和用户的权限,但没有读写的权限
- root 这是超级管理员
- readWrite 有读写权限
- read 有读权限
1.开启MongoDB数据库,运行/usr/src/mongodb/bin/mongo
,use admin
进入admin数据库,创建管理员账户
1 2 3 4 5 6 7 8
| db.createUser( { user: "root", pwd: "pwd", roles: [ { role: "root", db: "admin" } ] })
db.system.users.find()
|
2.修改配置文件mongodb.conf,在最下面加入一行
auth = on
,重启mongodb,进入
admin
数据库再运行
show dbs
发现已经没有权限
3.此时需要对数据库进行权限认证,运行
db.auth('root', 'pwd')
,返回1表示成功
4.对于具体的数据库,创建用户与上述步骤相同,角色不同。