mongodb的Linux安装与基础使用
为什么会出现
传统的关系型数据库,可以满足我们的日常开发了,
mysql相比我们这次的mongodb,mongodb有以下几点好处:问题:
- mysql是个全量的,默认情况下是不支持分片的,需要借助mycat,等第三方技术。mongodb天生就是分片的,支持副本的。
- 动态特性:插入数据的时候,如下图
我之前可能是没有昵称,
我可以动态扩展。
本质上mongodb是用的json的形式的,学起来还是很简单的,学完mongodb,再去看es就基本触类旁通了
一、Linux系统下安装mongodb
官网下载好
-
传到我们的Linux系统上,
进入到目录,运行如下命令: tar -zxvf mongodb-linux-i686-3.2.13-rc0.gz -C -
创建文件夹
/usr/local/mongodb/
,把它挪到我们的文件夹中 -
同时创建data,logs目录
-
创建配置文件
dbpath = /usr/local/mongodb/data/db
logpath = /usr/local/mongodb/logs/mongodb.log
port=27017
auth=true
fork=true
bind_ip=0.0.0.0
注意bind_ip=0.0.0.0是我自己在虚拟机上玩的,生产环境不要写。
-
启动mongodb
进入bin目录:cd /usr/local/mongodb/bin
运行:mongod --config /usr/local/mongodb/bin/mongodb.conf
-
添加管理用户(mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase)
利用mongo命令连接mongoDB服务器端:
use admin
db.createUser( {user: “pfnieadmin”,pwd: “123456”,roles: [ { role: “userAdminAnyDatabase”, db: “admin” } ]});
添加完管理用户后,关闭MongoDB,并使用权限方式再次开启MongoDB,
这里注意不要使用kill直接去杀掉mongodb进程,(
如果这样做了,请去data/db目录下删除mongo.lock文件),
可以使用db.shutdownServer()关闭.
进入mongo shell,使用admin数据库并进行验证,如果不验证,是做不了任何操作的。
use admin
db.auth(“pfnieadmin”,“123456”)
#认证,返回1表示成功
如果使用命令报错"not authorized on admin to execute command "
则表示当前登陆用户不具备相应权限;此时我们退出,再去创建root用户
db.createUser(
{
user:"root",
pwd:"123456",
roles:[{role:"root",db:"admin"}]
}
);
加用户权限成功之后,使用root用户登陆,再次使用命令即可成功!!!
此时我们就可以切用户,创建集合(相等于mysql的数据库)
二、基本使用
我们新建个集合:member 命令: db.createCollection("members")
插入数据 :db.members.insertOne({name:"zhangsan",age:20,sex:"m"})
查找数据 :db.member.find({})
精确查找:
db.member.find({“nickName”:“田玉”})
复合主键:
重复插入会失败
但是,颠倒顺序一样会成功。
总结
其他的操作命令就不介绍了,用到百度一查就行。没必要刻意去记住。本篇主要是介绍了他和之前mysql的一些区别。以及在linux环境的安装简单使用,下篇我们去java里面去调用。