192.168.1.1-路由器设置 > 路由器设置 >

DBA应用技巧:利用MySQL技能学习MongoDB

文章摘要

【IT168专稿】随着互联网的发展和新技术的不断涌现,传统意义上只管理一组同类数据库的情形已很少出现,管理不同类型的数据库是大多数数据库管理员的一种新型工作方式。在企业的实际应用中,会有各种不同的方案和产品来存放数据,比如我们经常遇到的表格、图像、视频等请看如下

 

  【IT168专稿】随着互联网的发展和新技术的不断涌现,传统意义上只管理一组同类数据库的情形已很少出现,管理不同类型的数据库是大多数数据库管理员的一种新型工作方式。在企业的实际应用中,会有各种不同的方案和产品来存放数据,比如我们经常遇到的表格、图像、视频等形式的数据,这些方案和产品包括Oracle、MicrosoftSQLServer、DB2、Informix、Sybase或者诸如MySQL和PostgreSQL之类的开源数据库。大多数企业要求DBA具有管理多种异构数据库的技能,所有对各种数据源具有丰富知识的人才是企业不可或缺的。

  MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。

  本文将帮助您根据现有的MySQL知识学习来MongoDB,将带领您快速了解MongoDB。

  一、安装

  首先来看看MySQL和MongoDB的安装步骤,两者的安装步骤都非常简单。

  1、MySQL的Windows安装

  MySQL服务器安装包可以从以下网站上下载:,安装方式取决于下载的安装程序,主要分为两种安装方法:

  (1)、MSIInstaller方式安装

  在官网上下载msi安装程序,双击mysql-5..-win32.msi,出现安装界面后一步一步的按提示安装即可:

  

  这种安装方式简单易懂,符合新手的软件安装习惯。接下来我们看一下免安装方式的安装方法。

  (2)、ZIP方式安装

  如果是高级用户我见意用这种方式安装,因为用户可定制的选项可以更多一些,更加便于管理和。

  Step1:在官网上下载zip安装程序,

  Step2:解压该文件到自己选定的目录比如D:\MySQL\

  Step3:在D:\MySQL\目录下,新建一个my.ini的文件向其中添加如下数据:

  [mysqld]

  192.168.1.103basedir=D:\MySQL

  datadir=D:\MySQL\data

  这种方式对于一个专业的DBA来说,使用起来更加灵活自如。

  2、MongoDB的Windows安装

  MongoDB在Windows平台上的安装方式只有zip方式,且安装及配置都比MySQL要简单的多,具体如下:

  Step1:在官网上下载ZIP安装包,注意是64位还是32位版本的,请选择正确的版本。

  Step2:在D:盘解压下载到的安装包,并重命名为mongodb

  Step3:建立”d:\data\db”目录用于存放数据文件

  Step4:执行”d:\mongodb\bin\mongod.exe”文件来启动MongoDB服务器

  Step5:打开游览器输入URL“”,如果出现下面的页面则说明已正常启动:

  

  上图显示了命名空间和盘区的关系。每个命名空间可以包含多个不同的盘区,这些盘区并不是连续的。与数据文件的增长相同,每一个命名空间对应的盘区大小的也是随着分配的次数不断增长的。这样做的目的是为了平衡命名空间浪费的空间与保持某一个命名空间中数据的连续性。上图中还有一个需要注意的命名空间:$freelist,这个命名空间用于记录不再使用的盘区(被删除的Collection或索引)。每当命名空间需要分配新的盘区的时候,都会先查看$freelist是否有大小合适的盘区可以使用。

  三、命令行工具及SQL语法

  MySQL是个广泛应用的关系型数据库产品,其语法规则遵守SQL99标准,MongoDB是新型的NoSQL产品,是文档型存储结构,其语法与传统的数据库产品略有不同,但殊途同归,都可以完成数据库开发和管理工作。下面的表格比较全面的对比了二者之间的区别,相信大家看了下表后应该对MySQL和MongoDB在整体上会有比较全面的理解,好,下面就让大家对这两个数据库进行比较学习。

  

  点击查看原图

  四、授权和权限

  数据库的安全性是每一个DBA重点关注的部分,在数据库建立之后,数据的安全就显得尤为重要。

  对于一个数据库管理员来说,安全性就意味着他必须那些具有特殊数据访问权限的用户能够登录到数据库服务器,并且能够访问数据以及对数据库对象实施各种权限范围内的操作;同时,DBA还要防止所有的非授权用户的非法操作。

  1、MySQL授权和权限

  MySQL中有两种级别的权限:管理和用户。所有权限都可分别使用GRANT和REVOKE语句授予和收回。可以授予用户create、select、update、delete、insert、execute、index等权限,也可授予alter、drop和shutdown等系统权限。根用户root在默认情况下具有所有权限。

  2、MongoDB授权和权限

  文档MongoDB服务时不添加任何参数时,可以对数据库任意操作,而且可以远程访问数据库,所以推荐只是在开发是才这样不设置任何参数。如果启动的时候指定auth参数,可以从根层面上的访问和连接

  (1)、只允许某ip访问

  mongodbind_ip127.0.0.1

  (2)、指定服务端口

  mongodbind_ip127.0.0.1port27888

  (3)、添加用户认证

  mongodbind_ip127.0.0.1port27888–auth

  (4)、添加用户

  在刚安装完毕的时候MongoDB都默认有一个admin数据库,而admin.system.users中将会保存比在其它数据库中设置的用户权限更大的用户信息。

  当admin.system.users中一个用户都没有时,即使mongod启动时添加了auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作,直到在admin.system.users中添加了一个用户。

  下面分别创建两个用户,在foo中创建用户名为user1密码为pwd1的用户,如下:

  auth:couldntfinduserroot,test.system.users哦,原来是这样,说明连接mongodb时,如果不指定库名,那么会自动连接到test库,但刚才我们新建的用户,都不是在test库上建立的,所以我们需要显示指定需要连接的库名:

  

  【IT168专稿】随着互联网的发展和新技术的不断涌现,传统意义上只管理一组同类数据库的情形已很少出现,管理不同类型的数据库是大多数数据库管理员的一种新型工作方式。在企业的实际应用中,会有各种不同的方案和产品来存放数据,比如我们经常遇到的表格、图像、视频等形式的数据,这些方案和产品包括Oracle、MicrosoftSQLServer、DB2、Informix、Sybase或者诸如MySQL和P......

  • 共2页:
  • 上一页
  • 1
  • 2
  • 下一页
  • 分享到:

    tags:192.168.1.10

    最近更新-关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明
    CopyRight2009-2011 All Rights Reserved 192.168.1.1 路由器设置jmqy.com