centos7.3yum安装mongodb3.x

摘要: centos7.3yum安装mongodb

最小化安装centos7.3

服务器规划(说明: 配置静态IP请查看关于上篇环境配置的博客)

1
192.168.241.31 paascloud-mongo-001

安装mongodb3.x

创建yum源

1
[root@paascloud-mongo-001 ~]# touch  /etc/yum.repos.d/mongodb-org-3.4.repo

修改yum源

1
[root@paascloud-mongo-001 ~]# 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

安装MongoDB软件包和相关工具

1
[root@paascloud-mongo-001 ~]# yum install -y mongodb-org
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
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 127 kB/s | 91 MB 00:12:14
从 https://www.mongodb.org/static/pgp/server-3.4.asc 检索密钥
导入 GPG key 0xA15703C6:
用户ID : "MongoDB 3.4 Release Signing Key <packaging@mongodb.com>"
指纹 : 0c49 f373 0359 a145 1858 5931 bc71 1f9b a157 03c6
来自 : https://www.mongodb.org/static/pgp/server-3.4.asc
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : mongodb-org-server-3.4.8-1.el7.x86_64 1/5
Created symlink from /etc/systemd/system/multi-user.target.wants/mongod.service to /usr/lib/systemd/system/mongod.service.
正在安装 : mongodb-org-tools-3.4.8-1.el7.x86_64 2/5
正在安装 : mongodb-org-mongos-3.4.8-1.el7.x86_64 3/5
正在安装 : mongodb-org-shell-3.4.8-1.el7.x86_64 4/5
正在安装 : mongodb-org-3.4.8-1.el7.x86_64 5/5
验证中 : mongodb-org-shell-3.4.8-1.el7.x86_64 1/5
验证中 : mongodb-org-mongos-3.4.8-1.el7.x86_64 2/5
验证中 : mongodb-org-tools-3.4.8-1.el7.x86_64 3/5
验证中 : mongodb-org-server-3.4.8-1.el7.x86_64 4/5
验证中 : mongodb-org-3.4.8-1.el7.x86_64 5/5

已安装:
mongodb-org.x86_64 0:3.4.8-1.el7

作为依赖被安装:
mongodb-org-mongos.x86_64 0:3.4.8-1.el7 mongodb-org-server.x86_64 0:3.4.8-1.el7 mongodb-org-shell.x86_64 0:3.4.8-1.el7 mongodb-org-tools.x86_64 0:3.4.8-1.el7

完毕!
[root@paascloud-mongo-001 ~]#

网速较慢, 比较耗时, 推荐tar包安装, 下载地址

禁用SELinux

1
2
[root@paascloud-mongo-001 ~]# vi /etc/selinux/config
SELINUX=disabled

启动MongoDB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
## 检查 mongodb 是否允许系统启动
systemctl is-enabled mongodb

## 使 mongodb 系统启动
systemctl enable mongodb

## 启动
systemctl start mongodb

## 查看启动状态
systemctl status mongodb

## 停止
systemctl stop mongodb

验证MongoDB已经成功启动

1
2
3
4
5
6
7
8
9
10
11
[root@paascloud-mongo-001 ~]# tail -f /var/log/mongodb/mongod.log
2017-09-07T20:00:27.166+0800 I CONTROL [initandlisten]
2017-09-07T20:00:27.166+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-09-07T20:00:27.166+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2017-09-07T20:00:27.166+0800 I CONTROL [initandlisten]
2017-09-07T20:00:27.173+0800 I FTDC [initandlisten] Initializing full-time diagnostic data capture with directory '/var/lib/mongo/diagnostic.data'
2017-09-07T20:00:27.181+0800 I INDEX [initandlisten] build index on: admin.system.version properties: { v: 2, key: { version: 1 }, name: "incompatible_with_version_32", ns: "admin.system.version" }
2017-09-07T20:00:27.181+0800 I INDEX [initandlisten] building index using bulk method; build may temporarily use up to 500 megabytes of RAM
2017-09-07T20:00:27.182+0800 I INDEX [initandlisten] build index done. scanned 0 total records. 0 secs
2017-09-07T20:00:27.183+0800 I COMMAND [initandlisten] setting featureCompatibilityVersion to 3.4
2017-09-07T20:00:27.188+0800 I NETWORK [thread1] waiting for connections on port 27017

设置开机启动

1
[root@paascloud-mongo-001 ~]# systemctl enable mongod.service

卸载MongoDB社区版

Stop MongoDB

1
[root@paascloud-mongo-001 ~]# systemctl stop mongod.service

Remove Packages

1
[root@paascloud-mongo-001 ~]# yum erase $(rpm -qa | grep mongodb-org)

Remove Data Directories

1
2
[root@paascloud-mongo-001 ~]# rm -r /var/log/mongodb
[root@paascloud-mongo-001 ~]# rm -r /var/lib/mongo

配置mongodb

开启远程访问

1
vim /etc/mongod.conf
1
#  bindIp: 127.0.0.1  # Listen to local interface only, comment to listen on all interfaces.

创建用户

1
[root@paascloud-mongo-001 bin]# mongo localhost/admin
1
2
3
4
5
6
7
8
9
> use admin
switched to db admin
> db.createUser(
{
user: "admin",
pwd: "paascloud",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

v2.6 docker 配置用户信息

公司使用的是2.6,默认只有admin用户admin库权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# docker exec -it mongodb27017 /bin/bash
# cd bin
# mongo --port 27017 -u "admin" -p "password" --authenticationDatabase "admin"
> use tfc_db
> show users
> show roles
> db.addUser('tfc','password')
> db.auth('tfc','password')
> show collections
> db.createUser(
{
user: "xescm-dev",
pwd: "paascloud",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

db.grantRolesToUser(
"xescm-dev",
[
{ role: "readWriteAnyDatabase", db: "admin" }
]
)

参考文档

mongodb官网

评论