1. Mongodb简介
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系型数据库当中功能最丰富,且与关系数据库的最为相像的。它支持的数据结构非常松散,是类似JSON的Bson格式,因此可以存储较为复杂的数据类型。
Mongodb最大的特点是它支持的查询语句非常强大,其语法有点类似与面向对象的查询语言,几乎可以实现类似关系行数据库单表查询的绝大部分功能,而且还支持对数据建立索引
2. Mongodb搭建
2.1 下载Mongodb
安装依赖包
1
2
3
4
5
6
7
8Red Hat/CentOS
sudo yum install libcurl openssl
Ubuntu 18.04 LTS ("Bionic")/Debian 10 "Buster"
sudo apt-get install libcurl4 openssl
Ubuntu 16.04 LTS ("Xenial")/Debian 9 "Stretch":
sudo apt-get install libcurl3 openssl查看Linux发行版本
1
cat /etc/os-release
查看系统架构
1
uname -m
下载依赖包
1
2启动时依赖libcryptp.so.1.1包
yum install -y libcrypto.so.*进入Mongodb官网 ,下载指定版本的服务
上传到服务器指定目录,我这里是
/usr/local/
,并解压到当前目录1
tar -zxvf mongodb-linux-x86_64-rhel8-8.0.4.tgz
1
2
3
4
5
6
7
8[root@localhost ~]# tar -zxvf mongodb-linux-x86_64-rhel8-8.0.4.tgz
mongodb-linux-x86_64-rhel88-8.0.4/LICENSE-Community.txt
mongodb-linux-x86_64-rhel88-8.0.4/MPL-2
mongodb-linux-x86_64-rhel88-8.0.4/README
mongodb-linux-x86_64-rhel88-8.0.4/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-rhel88-8.0.4/bin/install_compass
mongodb-linux-x86_64-rhel88-8.0.4/bin/mongod
mongodb-linux-x86_64-rhel88-8.0.4/bin/mongos重命名文件夹
1
mv mongodb-linux-x86_64-rhel88-8.0.4 mongodb
2.2 安装Mongodb
创建数据目录和日志目录
1
2
3
4
5
6
7
8新建数据存储目录
mkdir -p /usr/local/mongodb/data/db
新建日志存储目录
mkdir -p /usr/local/mongodb/logs
新建配置文件目录
mkdir -p /usr/local/mongodb/confs新建配置文件
1
2新建配置文件
vim /usr/local/mongodb/confs/mongodb.conf输入如下配置文件
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
30
dbpath = /usr/local/mongodb/data/db #数据文件存放目录
logpath = /usr/local/mongodb/logs/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true
auth = false #【建议练习条件下为false 认证字段】
bind_ip=127.0.0.1在etc目录下创建mongodb的运行配置文件
方式1:
1
ln -s /usr/local/mongodb/confs/mongodb.conf /etc/mongodb.conf
方式2:
1
cp /usr/local/mongodb/confs/mongodb.conf /etc/mongodb.conf
配置环境变量
确认mongodb的安装目录,我这里是/usr/local/mongodb,将目录加入到系统路径中
1
vim /etc/profile
在文件的最后加入以下语句:
1
export PATH=$PATH:/usr/local/mongodb/bin
配置文件生效
1
source/etc/profile
mongodb开机自启动
1
vim /usr/lib/systemd/system/mongodb.service
输入以下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod --config /etc/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb//bin/mongod --config /etc/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target配置mongodb.service服务可以使用
systemctl
系统命令管理1
systemctl enable mongodb.service
启动mongodb.service
1
systemctl start mongodb.service
查看mongodb.service状态
1
systemctl status mongodb.service
2.3 Mongodb Compass GUI工具
下载compass GUI工具,官网地址
连接mongodb数据库
2.4 常见问题解决方式
查看mongodb状态
1
sudo systemctl status mongod
检查端口
1
netstat -tuln |grep 27017
检查配置
确保mongodb.conf中的bind_ip允许远程连接,以及端口是否正确
检查防火墙
1
2sudo firewall-cmd --permanent --zone=public --add-port=27017/tcp
sudo firewall-cmd --reload