装mongodb在centos7上

摘要:
一些合作伙伴可能会发现他们无法连接。通常,这是因为防火墙端口未打开。使用命令打开端口,打开端口,然后打开端口firewall cmd--zone=public-add port=27017/tcp--permanent。查看端口firewall cmd--permanent--query port=27017/tcp。重新启动防火墙防火墙cmd--reload。注意:a,添加--permanent以确保重新启动后防火墙可以打开。b、 最好在这里重新启动防火墙,有时打开端口不会立即生效。我不知道为什么。现在LAN中的其他机器也可以连接到数据库。5.注册到系统的Centos 7的启动与Centos的前一版本非常不同。

1、下载安装包

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.12.tgz

2、解压

tar -zxvf mongodb-linux-x86_64-3.2.12.tgz

3、移动到指定位置

mv  mongodb-linux-x86_64-3.2.12/ /usr/local/mongodb

4、在/usr/local/mongodb下创建文件夹

mkdir -p /data/db
mkdir  /logs

5、在/usr/local/mongodb/bin下新建配置

vi mongodb.conf

dbpath = /usr/local/mongodb/data/db #数据文件存放目录

logpath = /usr/local/mongodb/logs/mongodb.log #日志文件存放目录
port = 27017  #端口
fork = true  #以守护程序的方式启用,即在后台运行
nohttpinterface = true
auth=true

bind_ip=0.0.0.0

6、环境变量配置

vi /etc/profile 

export MONGODB_HOME=/usr/local/mongodb

export PATH=$PATH:$MONGODB_HOME/bin

保存后,重启系统配置

source /etc/profile

7、启动

在/usr/local/mongodb/bin下

mongod -f mongodb.conf 或 ./mongod -f mongodb.conf

8、关闭

mongod -f ./mongodb.conf --shutdown  或./mongod -f ./mongodb.conf --shutdown

9、开启端口

firewall-cmd --zone=public --add-port=27017/tcp --permanent
查看端口
firewall-cmd --permanent --query-port=27017/tcp
重启防火墙

firewall-cmd --reload

10、创建用户

 创建用户管理员:
   use admin
   db.createUser({user:"root",pwd:"root123456",roles:["userAdminAnyDatabase"]})
   db.auth('root','root123456')
 以用户管理员身份登录,并切换数据库,创建数据库用户:
   切换到test数据库
   use test
   创建用户名、密码、角色
   db.createUser({user:"username",pwd:"@user123456*",roles:[{role:"readWrite",db:"securitydata"}]})
   设置mongodb配置中的auth为true(/etc/mongod.conf):
   security:
     authorization: enabled
   验证mongodb数据库权限。
   db.auth('user','@user123456*')
-----------------------------------------------------------------------------------------------------------------

4,测试启动

进入bin目录,输入命令

./mongod -f ./mongodb.conf

这时候会显示数据库启动成功

在服务器本地测试一下,使用命令

  1.  
    ./mongo 127.0.0.1
  2.  
    MongoDB shell version: 2.6.4
  3.  
    connecting to: 127.0.0.1/test
这标识数据库启动成功

在局域网内的其它机器使用工具连接测试一下。

有的小伙伴可能会发现无法连接,通常这都是防火墙的端口没有打开造成的

使用命令打开端口

  1.  
    开启端口
  2.  
    firewall-cmd --zone=public --add-port=27017/tcp --permanent
  3.  
    查看端口
  4.  
    firewall-cmd --permanent --query-port=27017/tcp
  5.  
     
  6.  
     
  7.  
    重启防火墙
  8.  
    firewall-cmd --reload
注意事项:

a,要加上  --permanent 才能保证重启后也能打开

b,这里最好重启一下防火墙,有时候开启端口并不能立即生效,什么原因我也不清楚

好了,现在局域网内其它机器也可以连接到数据库了。

5,注册到系统开机启动

centos 7的开机启动跟之前版本的centos有很大不同。现在用 systemctl命令代替了之前的chkconfig 和 service 命令

注册到开机启动的方法如下:

在系统服务目录下新建mongodb的启动服务,并给与754的权限

  1.  
    cd /lib/systemd/system
  2.  
    vi mongodb.service
chmod 754 mongodb.service

内容如下

  1.  
    [Unit]
  2.  
     
  3.  
    Description=mongodb
  4.  
    After=network.target remote-fs.target nss-lookup.target
  5.  
     
  6.  
    [Service]
  7.  
    Type=forking
  8.  
    ExecStart=/usr/appdata/mongodb/bin/mongod -f /usr/appdata/mongodb/bin/mongodb.conf
  9.  
    ExecReload=/bin/kill -s HUP $MAINPID
  10.  
    ExecStop=/usr/appdata/mongodb/bin/mongod --shutdown -f /usr/appdata/mongodb/bin/mongodb.conf
  11.  
    PrivateTmp=true
  12.  
     
  13.  
    [Install]
  14.  
    WantedBy=multi-user.target

路径必须要写绝对路径
  1.  
    启动
  2.  
    systemctl start mongodb.service
  3.  
    关闭
  4.  
    systemctl stop mongodb.service
  5.  
    注册到开机启动
  6.  
    systemctl enable mongodb.service

6,重启机器验证

reboot 

免责声明:文章转载自《装mongodb在centos7上》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SQL UpdateSpringBoot22 Ajax跨域、SpringBoot返回JSONP、CSRF、CORS下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SQL数据库设计的命名规范

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> 1 相关的设计规范:1.1 采用有意义的字段名尽可能地把字段描述的清楚些。当然,也别做过头了,比如CustomerShippingAddressStreetLine1 虽然很富有说...

Dynamics AX 2012 R3 Demo 安装与配置

    AX 2012 R3 发布后,Reinhard一直想体验一把,可是Reinhard所在的公司暂时不会升级到R3版本。这不,Reinhard就打算在个人电脑上安装下,可是安装的过程中,遇到了很多问题,Reinhard就想着不如写个系列教程吧,一方面纪录下来,另一方面可以帮助其他需要安装的同学。同学们可以跟随着Reinhard的这个系列教程一起来。...

sqlserver数据库中的mdf文件太大,表空间分析和表空间释放

查询数据库的大小: EXEC sp_spaceused 为了保证查询结果的实时性,推荐使用 @updateusage 参数来确保统计数据是最新的: EXEC sp_spaceused @updateusage = N'TRUE'; 具体查询某个表的大小: EXEC sp_spaceused 't_table' 分析查询数据库中所有表占用的内存大小: dec...

数据库高并发的设计

参考博文 现在公司要做一个数据库方案,总体目标是要存约 200T 的数据,机器不是问题。http://topic.csdn.net/u/20100317/12/fecc83b6-4849-48cf-a20b-24d552fd1cd0_2.html如何构建千万用户级别后台数据库架构设计的思路http://www.mysqlops.com/2011/11/22...

unigui如何连接数据库

unigui如何连接数据库 UNIGUI既可以二层直连数据库,也可以通过中间件连接数据库。 这里只介绍UNIGUI二层直连数据库。 数据库连接控件、数据集控件都要拖放在MainModule窗体上。UNIGUI会为每一个HTTP SESSION创建一个TUniMainModule对象。 附上ADO数据引擎连接MSSQL数据库的代码。 unit MainMod...

细聊Oracle通过ODBC数据源连接SQL Server数据库

    类似文章搜索引擎上有很多,内容大致相同,今天所谓细聊是因为我在借鉴这些文章时候走了些弯路,所以写此文,为自己备忘,同时如果能为初涉此处知识点的小伙伴提供些帮助就更好了,文章结尾处的一些扩展有一定实战意义,废话不多说。     我的应用场景:     项目系统使用oracle数据库,与客户的第三方系统供应商实现资源共享,对方为sql server数据...