Linux安装、运行MongoDB

一.安装环境

CentOS7+MongoDB4.0.13正式版。

二.下载MongoDB。

          官网下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz

          压缩包下载完成后winscp上传到Linux上,然后解压、改名:

tar -zxvf mongodb-linux-x86_64-4.0.13.tgz
mv mongodb-linux-x86_64-4.0.13 mongodb

三. 配置环境变量及配置文件。

3.1配置系统环境变量:

vi /etc/profile

键盘按下“i”进入编辑模式即可。在文件的最后加上:

#mongodb
export PATH=$PATH:/root/mongodb/bin

最后按下“Esc”,输入“:wq”保存退出vi编辑模式,source /etc/profile使修改生效即可。

3.2 创建MongoDB数据存放文件夹和日志记录文件夹,为后面的配置文件使用:

mkdir -p  /data/db
mkdir -p /logs

3.3 创建MongoDB运行时使用的配置文件:

进入bin目录下:cd  /root/mongodb/bin

创建mongodb.conf配置文件:vim mongodb.conf

会提示是new file,直接输入下面内容:

dbpath = /data/db #数据文件存放目录
logpath = /logs/mongodb.log #日志文件存放目录
port = 27017 #端口
fork = true #以守护程序的方式启用,即在后台运行
#auth=true #需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问

最后“Esc”,输入“:wq”保存退出vim编辑模式即可。注意:注释符号#和数据之间必须是一个空格。

四. 启动MongoDB

4.1 启动MongoDB服务:

进入bin目录下,加载配置文件方式启动:

cd /root/mongodb/bin
./mongod  -f  mongodb.conf

至此,MongoDB在Linux上的安装启动完毕。

查看端口映射检查是否启动成功:netstat -nltp|grep mongod  ,显示:

或者:netstat -nltp|grep 27017

或者: ps -ef | grep mongo  ,显示

或者:top  ,显示

4.2 关闭MongoDB。

关闭方式也有很多种,下面列举几种。

4.2.1 mongod命令关闭:./mongod  --shutdown  ,mongod 命令的 shutdown 选项能干净的关闭 MongoDB 服务,会释放内存中MongoDB占用的内存,个人推荐。

4.2.2 kill进程:kill MongoDB的pid  ,直接杀死MongoDB的进程id。kill  -9  pid 强制杀死,有时可能会出现错误关不掉时就可使用这种强制方式,但注意这种方式可能并不会马上释放内存中MongoDB占用的内存,且如果这时候有数据往MongoDB新增可能会导致数据丢失。注:查看pid:ps -ef | grep mongo , 结果的第二列就是pid。

4.2.3 pkill mongod 。

五. 创建MongoDB的账号。

这也是我第一次搭MongoDB,由于刚开始在配置文件中加了auth=true,导致本地可正常访问,远程却一直连接不上MongoDB(远程使用的是默认空用户名和密码),看了很多博客也没找到原因,最后为MongoDB创建了账号远程才可访问(这里吐槽一下有的博主写的东西没有亲自操作一遍就从网上复制粘贴然后发布,有些没有责任心)。这也是上面的配置文件我为什么建议刚安装时注释掉auth=true,当然,后面如果熟悉了账号的创建,为了安全还是应该开启的。

建议注释了auth=true后进行下面的操作,如果开启了认证,可能会导致下面的操作执行失败(只是可能)。

进入bin目录下: cd  /opt/mongodb-4.0.1/bin

运行mongo命令:mongo

使用admin数据库:use admin  ,注意admin数据库下创建的账号权限是所有库通用的,即是全局认证的。

创建用户:db.createUser({ user: 'root', pwd: 'root',roles: [ { role: "dbOwner", db: "test" }] })

这时候MongoDB的admin数据库就有了账号,启用auth=true,重启后,再连接就需要账号密码授权了。

连接admin数据库(因为账号是admin数据库下的用户,如果想直接连接test数据库,这个数据库中是没有名为root的用户的,所以最好的解决方案就是在test数据库中通过db.createUser创建一个相同的用户):use admin

授权:db.auth("root","root")

使用test数据库:use test

这时候就拥有了权限对数据库进行操作:db.firstCollection.save({"name":"yzh","age":"25"})

可查看是否新增成功:db.firstCollection.find({name:"yzh"})

退出mongo命令行工具:ctrl + c

mongo工具的其它命令就不再详述,待更新。。。

 

  • 54
    点赞
  • 251
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值