非关系数据库和关系型数据库的区别是什么?
- 实质:非关系型数据库的实质:非关系型数据库产品是传统关系型数据库的功能阉割版,通过减少用不到或很少用的功能,来大幅度提高产品性能。
- 价格:目前的非关系型数据库基本都是免费的,而比较有名气的关系型数据库都是收费的,比如:Oracle、DB2、MSSQL。MySql虽然是免费的,但是处理大型数据还是要提前作很多工作的。
- 功能:实际开发中,很多业务需求,其实并不需要完整的关系型数据库功能,非关系型数据库的功能就足够使用了。这种情况下,使用性能更高、成本更低的非关系型数据库当然是更明智的选择。
一、MongoDB简介:
MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。目的是为WEB应用提供扩展的高性能的数据存储解决方案。MongoDB是一个介于关系型数据库和非关系型数据库之间的产品,是非关系型数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
二、mongoDB安装
以下用centos做相关演示,主要参考的是官方的安装文档,这里简单的总结一下
1、查看当前服务器版本号
[root@izm5e2us6ou03c7io5v991z ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
2、Create a /etc/yum.repos.d/mongodb-org-3.6.repo file so that you can install MongoDB directly, using yum.
[root@izm5e2us6ou03c7io5v991z ~]# sudo vi /etc/yum.repos.d/mongodb-org-3.6.repo
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
3、使用yum安装当前最新的稳定版
[root@izm5e2us6ou03c7io5v991z ~]# sudo yum install -y mongodb-org
下面是安装成功的图片
4、启动mongodb
[root@izm5e2us6ou03c7io5v991z ~]# sudo service mongod start
5、服务器进入mongo
[root@izm5e2us6ou03c7io5v991z ~]# mongo --host 127.0.0.1:27017
MongoDB shell version v3.6.5
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 3.6.5
>
>
6、创建管理员账号并且查看是否创建成功
[root@izm5e2us6ou03c7io5v991z ~]# mongo --host 127.0.0.1:27017
MongoDB shell version v3.6.5
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 3.6.5
>use admin
>db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
>db.auth("useradmin", "adminpassword")//如果返回1,则表示成功
mongodb中的用户是基于身份role的,该管理员账户的 role是 userAdminAnyDatabase
7、上一步如果验证失败,可以修改配置,并且重启mongodb,然后再次登陆验证即可
[root@izm5e2us6ou03c7io5v991z ~]# sudo vi /etc/mongod.conf
//此处去掉security前面注释,并且加上下面一句话
security:
authorization: enabled
//重启mongodb
[root@izm5e2us6ou03c7io5v991z ~]# sudo service mongod restart
[root@izm5e2us6ou03c7io5v991z ~]# mongo --host 127.0.0.1:27017
MongoDB shell version v3.6.5
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 3.6.5
>use admin
>db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
>db.auth("useradmin", "adminpassword")
1
8、mac推荐客户端链接工具《Robomongo》
这里链接需要注意,因为我服务器是阿里云服务器,默认没有开启27017端口,所以要去安全组配置。
同时,mongodb的配置文件中的bind_ip 默认为127.0.0.1,默认只有本机可以连接。 此时,需要将bind_ip配置为0.0.0.0,表示接受任何IP的连接(修改mongo.conf文件sudo vi /etc/mongo.conf)
以上就是今天所有的内容了,更多精彩的文章,欢迎大家关注我的微信公众号:喝醉的清茶
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。