mongodb通过yum安装

安装前注意: 此教程是通过yum安装的.仅限64位centos系统

安装步骤:

1、创建仓库文件: 

1
vi /etc/yum.repos.d/mongodb-org-3.4.repo

 然后复制下面配置,保存退出

1
2
3
4
5
6
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

 2、yum安装

1
yum install -y mongodb-org

 没有权限就在前面加:   sudo

安装完毕后修改配置文件:

1
vi /etc/mongod.conf

 

修改配置文件的 bind_ip, 默认是 127.0.0.1 只限于本机连接。所以安装完成后必须把这个修改为 0.0.0.0 ,否则通过别的机器是没法连接的!

3、启动、停止、重启

MongoDB默认将数据文件存储在/var/lib/mongo目录,默认日志文件在/var/log/mongodb中。如果要修改,可以在 /etc/mongod.conf 配置中指定备用日志和数据文件目录。

启动命令:

1
service mongod start

 停止命令:

1
service mongod stop

 重启命令:

1
service mongod restart

查看mongoDB是否启动成功:

可以通过查看日志文件

1
cat /var/log/mongodb/mongod.log

 日志文件应该会出现如下一句说明

[initandlisten] waiting for connections on port <port>

<port> 是mongodb运行端口

设置开机启动

1
chkconfig mongod on

 4、使用

1
2
3
4
5
6
7
8
9
10
[root@instance-d0nk2r2c ~]# mongo
 
## 查看数据库
> show dbs;
 
## 查看数据库版本
> db.version();
 
## 常用命令帮助
> db.help();

 5、卸载移除mongo

1
yum erase $(rpm -qa | grep mongodb-org)

 6、移除数据库文件和日志文件

1
2
rm -r /var/log/mongodb
rm -r /var/lib/mongo

 

 

 

本教程是参考官网的安装说明安装的,英语水平有限,只能靠自己理解整理的部分重点.英语好的同学,可以自己查看官网安装说明,链接:

https://docs.mongodb.com/master/tutorial/install-mongodb-on-red-hat/

 

 

 #############

生成密钥文件

openssl rand -base64 741 > mongo_key

 

chmod 700 mongo_key

 

onwer chown mongodb:nogroup mongo_key

 chmod go-r mongo_key

 

 

###########################yum安装 mongo主从配置文件#####################################3

 

storage:
oplogMinRetentionHours: 10
dbPath: /database/mongo
journal:
enabled: true
engine: wiredTiger


wiredTiger:
engineConfig:
cacheSizeGB: 32
checkpointSizeMB: 256


setParameter:
wiredTigerConcurrentReadTransactions: 256
wiredTigerConcurrentWriteTransactions: 256
maxLogSizeKB: 20
syncdelay: 30

systemLog:
destination: file
logAppend: true
logRotate: reopen
path: /database/mongo/mongodb.log

processManagement:
fork: true
pidFilePath: /var/run/mongod.pid

net:
port: 3017
bindIp: 0.0.0.0

security:
authorization: enabled
keyFile: /usr/local/mongo/bin/mongo-key


replication:
replSetName: "mymongo"

 

 

 

 

 

 

机器规划:
192.168.1.23 主节点
192.168.1.24 从节点
192.168.1.25 仲裁节点, 不存储数据

下载安装
首先下载安装包:https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.2/x86_64/RPMS/mongodb-org-server-4.2.8-1.el7.x86_64.rpm

三台机器都执行安装命令

rpm -ivh mongodb-org-server-4.2.8-1.el7.x86_64.rpm
systemctl enable mongod
1
2
复制集配置
配置文件位于

# mongod.conf

# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log

# Where and how to store data.
storage:
dbPath: /opt/mongo_data
journal:
enabled: true
# engine:
# wiredTiger:

# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo

# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

#security:
# authorization: enabled
# keyFile: /opt/mongo_data/mongo.key

#operationProfiling:

#replication:
replication:
replSetName: testrs

#sharding:

## Enterprise-Only Options

#auditLog:

#snmp:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
默认配置里面要改动几个地方

# 数据存储路径
storage:
dbPath: /opt/mongo_data

# 机器需要局域网访问,需要绑定0.0.0.0
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.

# 需要账户密码登录,而且复制集之间通过key鉴权
#security:
# authorization: enabled
# keyFile: /opt/mongo_data/mongo.key

#operationProfiling:

# 复制集名称
replication:
replSetName: testrs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
key生成
在一台机器生成key,设置key与目录权限

openssl rand -base64 753 > /opt/mongo_data/mongo.key
chmod 600 /opt/mongo_data/mongo.key
chown -R mongod:mongod /opt/mongo_data/

1
2
3
4
复制key到另外两台机器,同样设置key和目录权限

三台机器通过systemctl start mongod启动服务器,这个时候三台机器都可以访问,需要配置复制集信息

配置复制集
mongo client登录其中一台,执行

cfg={ _id:"testrs", members:[ {_id:0,host:'192.168.1.23:27017',priority:2}, {_id:1,host:'192.168.1.24:27017',priority:1}, {_id:2,host:'192.168.1.25:27017',arbiterOnly:true}] };

rs.initiate(cfg) # 初始化复制集
rs.status() # 查看副本状态
1
2
3
4
创建授权用户
创建用户, 可以注意到,上面的security配置默认是没有打开的,因为还没有用户。这一步目标是创建admin用户
mongo client登录192.168.1.23 机器

use admin
db.createUser({user: "admin",pwd:"***",roles:[{role:"root",db:"admin"}]})
1
2
打开授权配置
security:
authorization: enabled
keyFile: /opt/mongo_data/mongo.key
1
2
3
重启mongod即可

posted @ 2021-02-24 12:16  woaibaobei  阅读(521)  评论(0编辑  收藏  举报