以下是在CentOS上安装MongoDB的详细步骤:
1、环境准备:
操作系统:Linux CentOS 7。
安装包:可以从官网下载mongodblinuxx86_64rhel704.4.29.tgz。
2、安装包下载:
可以通过以下命令从官网下载:
```bash
wget https://www.mongodb.com/try/download/community
```
或者直接在Linux服务器上使用wget下载:
```bash
wget https://fastdl.mongodb.org/linux/mongodblinuxx86_64rhel704.4.29.tgz
```
3、软件安装和启动:
将下载好的安装包上传到Linux服务器某个目录下,并使用以下命令解压压缩包:
```bash
tar zxvf mongodblinuxx86_64rhel704.4.29.tgz
```
将解压后的目录移动到 /usr/local 目录下,并改名为 mongodb:
```bash
mv mongodblinuxx86_64rhel704.4.29 /usr/local/mongodb
```
进入 mongodb 目录,并创建文件夹 data,在 data 文件夹下再创建 db 文件夹(用于存放数据库数据)和 log 文件夹(存放 mongo 日志),然后为其设置可读写权限:
```bash
cd /usr/local/mongodb/
mkdir data data/db data/log
sudo chmod 666 data/db data/log/
```
在 mongodb 目录下新建配置文件 mongodb.conf(可选,但建议配置),打开文件输入以下内容:
```bash
dbpath=/usr/local/mongodb/data/db
logpath=/usr/local/mongodb/data/log/mongodb.log
logappend=true
port=27017
auth=true
fork=true
bind_ip=0.0.0 # 不限制IP访问
```
配置环境变量,使用 sudo vi /etc/profile 命令打开系统文件,并在末尾加入以下内容后保存,最后使用 source /etc/profile 命令重启系统配置:
```bash
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
source /etc/profile
```
完成以上步骤即可启动 Mongo 服务:
```bash
mongod f /usr/local/mongodb/mongodb.conf
```
验证,使用安装目录下 bin 目录的 mongo 客户端命令连接和访问 MongoDB,默认会链接到 test 数据库:
```bash
mongo
```
4、其他配置:
开放端口:CentOS 7 版本对防火墙进行了加强,不再使用原来的 iptables,而是启用 firewall,默认情况下,不开放任何端口,所以如果需要对外开发 MongoDB 服务,那么需要开放 MongoDB 的端口:
```bash
firewallcmd zone=public addport=27017/tcp permanent
firewallcmd reload
firewallcmd zone=public listports
```
检查服务状态:可以使用以下命令检查 MongoDB 服务的状态:
```bash
sudo systemctl status mongod
```
停止服务:可以使用以下命令停止 MongoDB 服务:
```bash
sudo systemctl stop mongod
```
开机自启动:可以使用以下命令使 MongoDB 服务在系统启动时自动启动:
```bash
sudo systemctl enable mongod
```
启动、重启、停止服务:可以使用以下命令分别启动、重启、停止 MongoDB 服务:
```bash
sudo systemctl start mongod
sudo systemctl restart mongod
sudo systemctl stop mongod
```
5、用户角色和密码:
内置角色:MongoDB 提供了多种内置角色,如 read、readWrite、dbAdmin、dbOwner、userAdmin、clusterAdmin、clusterManager、clusterMonitor、hostManager、backup、restore、root等。
创建管理员账号:在 admin 数据库中使用 db.createUser() 命令添加管理员帐号或其他角色。
```bash
use admin
db.createUser({user:"root",pwd:"Funi_R00T",roles:[{role:"root",db:"admin"}]})
```
验证:使用新创建的管理员账号登录并进行验证:
```bash
db.auth("root","Funi_R00T")
```
演示对单个数据库创建用户和密码:可以在特定的数据库中创建用户并设置密码。
```bash
use funi
db.createUser({user:'funi',pwd:'funi.com',roles:[{role:'readWrite',db:'funi'}]})
```
可视化工具连接:可以使用可视化工具如 Navicat 连接到 MongoDB,进行数据库管理和操作。
以下是关于CentOS安装MongoDB的FAQs:
1、问题一:如何在CentOS上通过yum安装MongoDB?
解答:在CentOS上通过yum安装MongoDB的步骤如下:
1. 添加MongoDB的源:
```bash
sudo vi /etc/yum.repos.d/mongodborg.repo
```
在编辑器中,复制并粘贴以下内容:
```bash
[mongodborg6.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodborg/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server6.0.asc
```
保存并退出编辑器,更新yum缓存:
```bash
sudo yum update y
```
2. 安装MongoDB:
```bash
sudo yum install y mongodborg
```
3. 启动MongoDB服务:
```bash
sudo systemctl start mongod
```
4. 使MongoDB在系统启动时自动启动:
```bash
sudo systemctl enable mongod
```
5. 验证MongoDB是否成功安装并运行:
```bash
sudo systemctl status mongod
```
2、问题二:如何解决MongoDB启动失败的问题?
解答:如果MongoDB启动失败,可以查看日志文件以找出原因,MongoDB的日志文件通常位于/var/log/mongodb
目录下,根据日志中的错误信息进行相应的处理,常见的解决方法包括:
1. 确保配置文件中的路径正确,并且具有相应的读写权限。
2. 如果提示套接字文件连接失败(failed to unlink socket file),可以尝试手动删除套接字文件,这个文件位于/tmp
或 MongoDB 数据目录下的dbpath
指定的位置,并且名字类似于/tmp/mongodb27017.sock
,删除命令如下:
```bash
rm /tmp/mongodb27017.sock
```