部署
安装所需依赖
[root@localhost ~]# yum -y install libcurl openssl
下载所需MongoDB包
[root@localhost ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.10.tgz
将tgz包解压
[root@localhost ~]# tar xf mongodb-linux-x86_64-rhel70-4.0.10.tgz
[root@localhost ~]# mv mongodb-linux-x86_64-rhel70-4.0.10 /usr/local/mongodb
创建数据存储目录和日志文件目录
[root@localhost ~]# mkdir -p /usr/local/mongodb/data/db
[root@localhost ~]# mkdir -p /usr/local/mongodb/logs
编辑 MongoDB 启动配置文件
[root@localhost ~]# cd /usr/local/mongodb/bin
[root@localhost ~]# vim mongodb.conf
##数据存储目录
dbpath=/usr/local/mongodb/data/db
##日志文件目录
logpath=/usr/local/mongodb/logs/mongodb.log
##后台运行
fork=true
auth=true
port=27017
bind_ip=127.0.0.1
参数说明:
参数 | 参数说明 |
---|---|
–dbpath | 数据存放路径 |
–logpath | 日志文件路径 |
–logappend | 日志输出方式 |
–port | 启用端口号 |
–fork | 在后台运行 |
–auth | 是否需要验证权限登录 (用户名和密码) |
–bind_ip | 限制访问的 ip |
–shutdown | 关闭数据库 |
MongoDB 的可执行文件位于 bin 目录下,需要将其添加到 PATH 路径中
[root@localhost ~]# vim /etc/profile
#添加至底部
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
#重新加载环境变量
[root@localhost ~]# source /etc/profile
启动 MongoDB
[root@localhost ~]# cd /usr/local/mongodb/bin
[root@localhost bin]# mongod -f mongodb.conf
开机自启脚本
[root@localhost ~]# cat > /usr/lib/systemd/system/mongod.service << EOF
[Unit]
Description=MongoDB database server
After=network.target
[Service]
Type=forking
#PIDFile=/home/dp/data/mongodb/pid
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
然后加载启动。
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl start mongod
[root@localhost ~]# systemctl status mongod
[root@localhost ~]# systemctl enable mongod
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
切忌 kill -9干掉MongoDB
如果使用 kill -9 直接关闭数据库,可能会造成数据丢失,数据文件损失等风险。
通过如下安全的方式进行关闭:
[root@localhost ~]# kill -2 PID
-2表示向mongod进程发送SIGINT信号。
[root@localhost ~]# kill -4 PID
-4表示向mognod进程发送SIGTERM信号。
MongoDB常用命令:
---创建密码
>use admin
>db.createUser({ user: "admin", pwd: "kEn*9*EP0T", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
---使用密码登录数据库
>use admin
>db.auth('admin','kEn*9*EP0T')
---创建mongo库
>use 库名
>db.createUser({user:"admin",pwd:"kEn*9*EP0T",roles:[{role:"dbOwner",db:"库名"}]})
---备份
[root@localhost ~]# mongodump -h 127.0.0.1:27017 -u=admin -p=123456 -d 库名 -o /home/backup(需提前建好备份目录) --authenticationDatabase admin
---恢复
mongorestore -h 127.0.0.1:27017 -d 库名 --dir /home/backup/库名