一、下载安装包
在官网上选择安装包
2. 移动目录并解压到指定目录
sudo tar -zxvf mongodb-linux-x86_64-ubuntu1804-4.2.8.tgz ## 解压
sudo mv mongodb-linux-x86_64-ubuntu1804-4.2.8 mongodb ## 改名
二、创建数据库目录和配置文件
- 指定数据存储目录
默认数据存储根目录的data/db下,由于离线安装不会自动创建,需要自己指定(最好选择空间比较大,并且设置权限,防止删除),我是放在/data/mongodb下
cd /data
sudo mkdir -p /mongodb/data/db
- 添加环境变量
vim /etc/profile
文件末尾添加
## mongodb
export mongodb=/home/user/hzx/mongodb
export PATH=$mongodb/bin:$PATH
- 刷新环境
source /etc/profile
注意:mongodb的bin目录的两个脚本:mongod是服务器端,mongo是客户端。要启动mongodb服务,需要先开启mongod
- mongodb的根目录下新建配置文件,每次启动就无须添加参数
vim mongodb.conf
port=27017 #端口号
bind_ip=0.0.0.0 #所有机器都是连接
dbpath=/data/mongodb/data/db #数据库路径
logpath=/data/mongodb/log/mongodb.log #日志输出文件路径
fork=true #设置后台运行
logappend=true #日志输出方式
auth=true #开启认证,不开启的话,启动会提示警告
- 启动服务端,进入客户端
mongod --config /home/user/hzx/mongodb/mongod.conf ## 服务端
mongo # 进入mongo shell,出现'>'就表示进入回话命令行
提示警告
····
MongoDB shell version v4.2.8
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("6411f712-f88e-4f4c-9223-bd5d187d0976") }
MongoDB server version: 4.2.8
Server has startup warnings:
2020-07-30T13:36:39.916+0800 I STORAGE [initandlisten]
2020-07-30T13:36:39.916+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2020-07-30T13:36:39.916+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
2020-07-30T13:36:41.642+0800 I CONTROL [initandlisten]
2020-07-30T13:36:41.642+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2020-07-30T13:36:41.642+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2020-07-30T13:36:41.642+0800 I CONTROL [initandlisten]
2020-07-30T13:36:41.646+0800 I CONTROL [initandlisten]
2020-07-30T13:36:41.646+0800 I CONTROL [initandlisten] ** WARNING: You are running on a NUMA machine.
2020-07-30T13:36:41.646+0800 I CONTROL [initandlisten] ** We suggest launching mongod like this to avoid performance problems:
2020-07-30T13:36:41.646+0800 I CONTROL [initandlisten] ** numactl --interleave=all mongod [other options]
2020-07-30T13:36:41.646+0800 I CONTROL [initandlisten]
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
这是因为mongoDB需要我我们开启验证,所以我们需要创建一个超级管理员账号,并且配置文件开启验证
> show dbs ## 显示所有数据库
> use admin ## 进入admin数据库
> db.createUser( ## 创建超级管理员账号
{
user: "admin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
> exit ##退出
重新启动
kill -9 pid
mongod --config /home/user/hzx/mongodb/mongod.conf ## 服务端
重新进入客户端,警告消失
user@user:~/hzx/mongodb$ mongo
MongoDB shell version v4.2.8
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("78f7d072-500f-49cc-a7ba-caf7fe2776b9") }
MongoDB server version: 4.2.8
>
可以进行验证,查看是否
> use admin ##默认存在的,使用use,如果数据库存在就进入,不存在就创建,账号是跟着数据库走的
> db.auth('admin','123')
1
>