Centos7安装MongoDB4(单机版)

一、环境说明

环境组件 版本
Centos 7.6.1810
MongoDB 4.0.26

二、安装步骤

2.1 下载MongoDB二进制版

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.26.tgz

2.2 解压到opt下

tar -zxvf mongodb-linux-x86_64-rhel70-4.0.26.tgz -C /opt

2.3 重命名文件夹

mv mongodb-linux-x86_64-rhel70-4.0.26/ mongodb4.0.26/

2.4 加入到环境变量中

A). vim /etc/profile

 86 export MONGO_HOME=/opt/mongodb4.0.26
 87 export PATH=$PATH:$MONGO_HOME/bin

B). source /etc/profile

2.5 创建运行时数据目录

A). 创建"数据+日志"目录

mkdir -p /data/mongodb40/{
    
    log,data}

B). 创建配置文件目录

mkdir -p /opt/mongodb4.0.26/config

### C). 创建配置文件
```bash
cd /opt/mongodb4.0.26/config/

vim mongo11111.conf


2.6 启动MongoDB

/opt/mongodb4.0.26/bin/mongod -f /opt/mongodb4.0.26/config/mongo11111.conf

2.7 测试是否启动成功

curl http://localhost:11111

2.8 加入开机自启

echo “/opt/mongodb4.0.26/bin/mongod -f /opt/mongodb4.0.26/config/mongo11111.conf” >> /etc/rc.local

三、管理用户

3.1 第一次登录MongoDB

mongo --port 11111

3.2 创建admin用户(root)

# 切换到admin库
use admin

# 创建管理员用户,设置其账户为(root/123456)
db.createUser({
    
     user: "root", pwd: "123456", roles: [{
    
    role: "root", db: "admin"}] })

# 验证是否成功(返回1,即为成功)
db.auth("root", "123456")

3.3 使用admin用户登录

mongo --port 11111 -uroot -p123456

MongoDB shell version v4.0.26
connecting to: mongodb://127.0.0.1:11111/?gssapiServiceName=mongodb
Implicit session: session {
    
     "id" : UUID("965b8e97-7d57-4beb-9b61-4f53a57d169e") }
MongoDB server version: 4.0.26
Server has startup warnings: 
2022-04-19T22:34:01.665+0800 I STORAGE  [initandlisten] 
2022-04-19T22:34:01.665+0800 I STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2022-04-19T22:34:01.665+0800 I STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2022-04-19T22:34:02.212+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2022-04-19T22:34:02.212+0800 I CONTROL  [initandlisten] 
2022-04-19T22:34:02.212+0800 I CONTROL  [initandlisten] 
2022-04-19T22:34:02.212+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2022-04-19T22:34:02.212+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2022-04-19T22:34:02.212+0800 I CONTROL  [initandlisten] 
2022-04-19T22:34:02.212+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2022-04-19T22:34:02.212+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2022-04-19T22:34:02.212+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()
---

> 

3.4 创建"数据库 + 用户"

1). 使用数据库(没有则创建)
use testDB

2). 创建数据库管理用户并授权
注意: 在哪个库上执行这个操作,则表示该用户隶属于哪个库; 在登录时,需要在该库上做认证

# 创建用户(需要在切换的testDB上做认证)
db.createUser( {
    
    user: "testUser", pwd: "123456", roles: [{
    
    role: "dbOwner", db: "testDB"}]} )

测试登录:
mongo --host 127.0.0.1 --port 11111 -u testUser -p 123456 --authenticationDatabase testDB

  1. 创建数据库的普通用户并设置授权
use testDB

db.createUser( {
    
    user: "commonUser", pwd: "123456", roles: [{
    
    role: "readWrite", db: "testDB"}]} )

四、MongoDB基础命令

4.1 内置数据库

MongoDB中有一些内置的数据库, 新创建的数据库名称不能与这些数据库重名.

环境组件 版本
admin 属于权限数据库,添加用户到此数据库中,则用户将继承数据库的所有权限
config 配置类信息
local 数据库中的数据不会被复制
test 默认数据库, 用来做一些测试工作

4.2 常用命令

  1. 登录mongo
# 用户名/密码/认证服务器
mongo --host 127.0.0.1 --port 11111 -u testUser -p 123456 --authenticationDatabase testDB
  1. 切换 或 使用数据库
# 如无则创建
use dbName
  1. 查看数据库版本
db.version()
  1. 查看当前数据库名称
db.getName()
  1. 查看当前数据库地址
db.getMongo()
  1. 查看当前数据库状态
db.stats()

{
    
    
	"db" : "testDB",
	"collections" : 0,
	"views" : 0,
	"objects" : 0,
	"avgObjSize" : 0,
	"dataSize" : 0,
	"storageSize" : 0,
	"numExtents" : 0,
	"indexes" : 0,
	"indexSize" : 0,
	"fileSize" : 0,
	"fsUsedSize" : 0,
	"fsTotalSize" : 0,
	"ok" : 1
}

猜你喜欢

转载自blog.csdn.net/liuwei0376/article/details/124297411