摘要: 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 # 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 官网