Mongodb以及rockmongo安装

Mongodb安装



  以centos6.x_x_64位系统为例,我们使用yum安装

1.添加yum源

在/etc/yum.repos.d/目录下创建文件10genmon.repo(名字随意,.repo结尾就行),它包含MongoDB仓库的配置信息

[[email protected] yum.repos.d]# pwd
/etc/yum.repos.d
[[email protected] yum.repos.d]# cat 10genmon.repo
[10gen] 

name=10gen Repository 

baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 

gpgcheck=0

2.使用yum安装

[[email protected] yum.repos.d]# yum install mongodb-org    #我已经安装过了,所有不会重复安装
Loaded plugins: fastestmirror, security
Setting up Install Process
Loading mirror speeds from cached hostfile
Package mongodb-org-2.6.12-1.x86_64 already installed and latest version
Nothing to do
[[email protected] yum.repos.d]# rpm -qa|grep mongodmongodb-org-shell-2.6.12-1.x86_64mongodb-org-server-2.6.12-1.x86_64mongodb-org-tools-2.6.12-1.x86_64mongodb-org-2.6.12-1.x86_64mongodb-org-mongos-2.6.12-1.x86_64[[email protected] yum.repos.d]# 

3.根据需要修改/etc/mongo.conf文件

  • 至少配置以下三项,然后保存

  logpath=/var/log/mongodb/mongod.log  #mongo日志文件

  dbpath=/data/mongo            #数据库data存放路径

  pidfilepath=/var/run/mongodb/mongod.pid   #进程pid

  • 创建对应目录

  mkdir -p /var/log/mongodb
  mkdir -p /data/mongo
  mkdir -p /var/run/mongodb

  • 添加权限

chown mongod.mongod /var/log/mongodb -R

chown mongod.mongod /var/run/mongodb -R

chown mongod.mongod /data/mongo -R

  到这里就可以通过/etc/init.d/mongod start启动mongd服务了,默认端口27017,可以在/etc/mongod.conf修改

4.考虑到安全问题我们要给mongd数据库添加用户信息

  想要启用mongod认证需要在/etc/mongod.conf中设置auth=true.但是启用安全之前一定要先添加一超级用户如下演示:

  • 先添加一个超级用户(管理员账号)
MongoDB shell version: 2.6.12
connecting to: test
> use admin
switched to db admin
> db.addUser(‘root‘,‘xxxx‘)
1
> exit
bye
  • /etc/mongod.conf中添加auth=true,然后重启/etc/init.d/mongod restart

  一旦设置认真,所有的操纵均需要经过认证

[[email protected] mongodb]# mongo
MongoDB shell version: 2.6.12
connecting to: test> use adminswitched to db admin> show collections2017-05-10T18:27:26.624+0800 error: {    "$err" : "not authorized for query on admin.system.namespaces",      #提示已经没有权限了    "code" : 13} at src/mongo/shell/query.js:131
> db.auth(‘root‘,‘xxxx‘)1                                              #1表示已经认真成功,这时候可以作任何事情了,因为是管理员账号      > show collectionssystem.indexessystem.userssystem.version> 

  我们不可能把管理员账号非每一个使用者,所以我们可以给某个数据库建立账号,然后提供给指定用户

  • 给指定数据库添加一个账户,要先切换到admin,登陆有再切换到目标数据库完成账户创建
[[email protected] yum.repos.d]# mongo  TestDB
MongoDB shell version: 2.6.12
connecting to: TestDB
> use admin              
switched to db admin
> db.auth(‘root‘,‘xxxx‘)
1
> use TestDB
switched to db TestDB
> db.addUser(‘test‘,‘test‘)      #TestDB的专属账号

关于mongodb账号问题可以参考 http://www.cnblogs.com/valor-xh/p/6369432.html

Mongodb可视化管理工具rockmongo



rockMongo是PHP5写的一个MongoDB管理工具。另外我们要保证mongodb启动时已经设置了auth=true选项.否则就太不安全了。

通过 Rockmongo 你可以管理 MongoDB服务,数据库,集合,文档,索引等等。它提供了非常人性化的操作。类似 phpMyAdmin(PHP开发的MySql管理工具)。

Rockmongo 下载地址:https://github.com/iwind/rockmongo.git

  1. 安装php运行需要的依赖库
  •  yum -y install gcc automake autoconf libtool make
  •  yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel --setopt=protected_multilib=false

  2.安装php和php-fpm

  • yum -y install php
  • yum -y install php-fpm
#检查是否安装成功[[email protected] mongodb]# php -v
PHP 5.3.3 (cli) (built: Mar 22 2017 12:27:09)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
[[email protected] mongodb]# /etc/init.d/php-fpm status
php-fpm (pid  13766) is running...

  3.php-mongo驱动

  • yum install php-pecl-mongo
  • echo "extension=mongo.so">>/etc/php.ini
  • /etc/init.d/php-fpm restart

  4.获取rockmongo源码程序并放到nginx(或其他web服务器)的资源路径,并根据自身情况修改config.php文件

  • git clone https://github.com/iwind/rockmongo.git
  • mv rockmongo /path/to/your/nginx_web/
  • 修改/path/to/your/nginx_web/rockmongo/config.php文件
[[email protected] ~]# cat /usr/share/nginx/html/rockmongo/config.php
<?php
/**
 * RockMongo configuration
 *
 * Defining default options and server configuration
 * @package rockmongo
 */

$MONGO = array();
$MONGO["features"]["log_query"] = "on";//log queries
$MONGO["features"]["theme"] = "default";//theme
$MONGO["features"]["plugins"] = "on";//plugins

$i = 0;

/**
* Configuration of MongoDB servers
*
* @see more details at http://rockmongo.com/wiki/configuration?lang=en_us
*/
$MONGO["servers"][$i]["mongo_name"] = "自己命名一个名字";//mongo server name
//$MONGO["servers"][$i]["mongo_sock"] = "/var/run/mongo.sock";//mongo socket path (instead of host and port)
$MONGO["servers"][$i]["mongo_host"] = "127.0.0.1";//mongo host
$MONGO["servers"][$i]["mongo_port"] = "27017";//mongo port,需要和/etc/mongod.conf中一致,否则rockmongo程序找不到我们的mongod服务 
$MONGO["servers"][$i]["mongo_timeout"] = 0;//mongo connection timeout

//follwo 3  lines only function when $MONGO["servers"][$i]["mongo_auth"] = false//test,test这里我提前给TestDB数据库创建的用户,密码,根据自己需要决定是否设置此项.,这里的设置跟下面test_admin想关联.
$MONGO["servers"][$i]["mongo_db"] = "TestDB";//default mongo db to connect, works only if mongo_auth=false
$MONGO["servers"][$i]["mongo_user"] = "test";//mongo authentication user name, works only if mongo_auth=fals
$MONGO["servers"][$i]["mongo_pass"] = "test";//mongo authentication password, works only if mongo_auth=false

$MONGO["servers"][$i]["mongo_auth"] =true;//enable mongo authentication?

$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false

//test_admin是当“$MONGO["servers"][$i]["mongo_auth"] =false;//enable mongo authentication?”时使用的admin登陆名,并不是真正的admin用户,从上面可以了解到,其实是一个只能操作//TestDB的"假的admin",并且它内部最终使用的是‘test‘账户以及密码‘test‘
$MONGO["servers"][$i]["control_users"]["test_admin"] = "test_admin";//one of control users ["USERNAME"]=PASSWORD, works only if mongo_auth=false

$MONGO["servers"][$i]["ui_only_dbs"] = "";//databases to display
$MONGO["servers"][$i]["ui_hide_dbs"] = "";//databases to hide
$MONGO["servers"][$i]["ui_hide_collections"] = "";//collections to hide
$MONGO["servers"][$i]["ui_hide_system_collections"] = false;//whether hide the system collections

//$MONGO["servers"][$i]["docs_nature_order"] = false;//whether show documents by nature order, default is by _id field
//$MONGO["servers"][$i]["docs_render"] = "default";//document highlight render, can be "default" or "plain"

$i ++;

/**
 * mini configuration for another mongo server
 */
/**
$MONGO["servers"][$i]["mongo_name"] = "Localhost2";
$MONGO["servers"][$i]["mongo_host"] = "127.0.0.1";
$MONGO["servers"][$i]["mongo_port"] = "27017";
$MONGO["servers"][$i]["control_users"]["admin"] = "password";
$i ++;
**/

?>

4.配置nginx,把对rockmongo应用的相关请求全部交给fastcgi_pass处理

[[email protected] ~]# vi /etc/nginx/conf.d/rockmongo.conf 

server {
   listen 27016;              #rockmongo对外的监听端口
   root /usr/share/nginx/html/rockmongo;
    try_files $uri /index.php;
    location ~ \.php$  {
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

}

5.再保证php,nginx,mongodb工作正常的情况下,测试一下,浏览器输入host:27016即可

6.登录

两种登录方式:

1.认证模式,在config.php中设置如下:

$MONGO["servers"][$i]["mongo_auth"] =true;//enable mongo authentication?

  • 使用admin账户,查看所有mongodb信息
  • 使用普通用户,只能看用户名下的数据库,登录时要在Non-Admin users框内输入对应的DB名

下图是使用admin登录的,所以除了admin数据库外还可以看到TestDB

下图是用test用户登录的,只能够管理TestDB

2.无认证方式,要在config.php中设置如下:

$MONGO["servers"][$i]["mongo_auth"] =false;//enable mongo authentication?

$MONGO["servers"][$i]["mongo_db"] = "TestDB";//default mongo db to connect, works only if mongo_auth=false  #默认访问的DB
$MONGO["servers"][$i]["mongo_user"] = "test";//mongo authentication user name, works only if mongo_auth=fals  #TestDB对应的真实用户名
$MONGO["servers"][$i]["mongo_pass"] = "test";//mongo authentication password, works only if mongo_auth=false      #TestDB对应的真实密码

$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false

$MONGO["servers"][$i]["control_users"]["test_admin"] = "test_admin"

然后使用test_admin账户作为假的admin账户登录,这里的test_admin表示可以查看管理TestDB的用户,或许这么做原因可能是不想把TestDB的真实用户信息暴露出来吧-_-

测试过程中认证与不认证方式切换时会有些问题,需要重启mongodb服务(当然很烦,,),建议使用第一种就好

最后给一个mongo3.4的yum源,官网更详尽,https://www.mongodb.com/download-center

[[email protected] mongodb_yum]# cat mongodb-org-3.4.repo
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

  

时间: 2024-12-29 11:22:18

Mongodb以及rockmongo安装的相关文章

第一课 MongoDB 概述与安装

1.课程大纲 本次课主要介绍 MongoDB 背景知识和 MongoDB 的安装与配置,让大家对 MongoDB 有一个初认识. 其基本的知识点包含: NoSQL数据库概述 MongoDB 数据库简单介绍 Linux 下安装 MongoDB 数据库 Mac 和 Windows 下安装 MongoDB 数据库 2.课程简单介绍 MongoDB是由MongoDB.inc研发的一款NoSQL类型的文档型数据库,MonogoDB名字来源于英文单词humongous,这个单词的意思是巨大无比.暗喻Mong

1. 初探MongoDB —— 介绍、安装和配置

一.写在前面 之前一直以来,都是使用关系型数据库.也很早就听闻,当数据量大的时候,关系型数据库使用起来会有很多问题.诸如查询数据慢,加载花费时间长等等. 也早就耳闻NOSQL(NoSQL = Not Only SQL ),泛指非关系型数据库.这种数据库主要以哈希表的形式存储.即:这个表中有一个指定的键和一个指针指向特定的数据,key.value键值对模式.这种方式的好处就是简单,容易部署. 而在NOSQL数据库中,主要有Cassandra.Mongodb.CouchDB.Redis. Riak.

【MongoDB】 Windows 安装

Windows下安装MongoDB,虽然网上有很多攻略,但是还是有很多坑,为了以后少犯错误,特此记录. 1.下载安装包 https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.2.1-signed.msi?_ga=1.22066811.1599532380.1422017396 上面这个地址要比直接从官网上下载要快.请注意,这里下载的是windows 64位3.2.1版的MongoDB 2.执行安装 直接点击安装包

一、PHP MongoDB Windows7_64位安装与配置

NoSQL现在非常的流行了,由于我所在的公司环境问题,目前还用不到这种数据库,出于好奇,翻了翻资料,也算自学了一下.在此做下记录. 我的本机环境:APMServ5.2.6,PHP肯定就是5.2了. 1.首先下载:mongodb-win32-x86_64-2008plus-2.6.3.zip(忘了在哪下载的了),解压如下图: 我把解压好的文件复制到E:\mongodb这个目录下了. 2.然后在网上搜索了一下:PHP_Mongo_extension.zip,然后下载,(忘了在哪下载的了),解压如下图

深入浅出MongoDB(三)mongoDB下载和安装

软件下载 下载mongodb最新的包:http://www.mongodb.org/downloads 下载mongodb可视化界面,mongoVUE:http://download.csdn.net/detail/lovesummerforever/8036417 软件安装 mongodb服务端安装步骤如下所示 1.遵守mongodb规范,选择自己的磁盘创建文件夹,在这里我选择的是D盘,创建如下目录结构 D:\mongodb  作为安装的根目录 D:\mongodb\data 数据目录 D:\

MongoDB Windows环境安装及配置[转]

MongoDB一般安装 1.首先到官网(http://www.mongodb.org/downloads )下载合适的安装包,目前的最新版本为2.6 安装包有zip和msi格式的,这里推荐下载zip格式的,msi的其实也就是进行了下解压缩而已,而且安装时不让选择安装路径,默认安装到C:\Program Files\MongoDB 2.6 Standard 目录,根据自己的系统选择32位或64位的 我本人电脑是win8系统64位,下载64位的zip包,下载完成后解压缩到D:\MongoDB目录 创

win7下mongodb 2.6安装方法

第一步:下载win7中的mongodb 2.6安装包 第二步:创建一个目录作为数据库目录如d:\docdata 第三步:启动mongodb服务 c:\program files\mongodb 2.6 standard\mongod.exe --dbpath=d:\docdata 第四步:在cmd中打开mongo.exe,可以看到连接成功,并显示">" win7下mongodb 2.6安装方法

mongodb集群安装及延迟节点配置

mongodb集群安装及延迟节点配置 本文主要介绍mongodb安装.副本集模式的配置.mongodb数据库的简单使用及延迟节点搭建和利用延迟节点恢复误删除的数据. 一.系统环境 平台:Centos6.6_x86_64 实验环境:四台主机部署副本集模式集群 主机:192.168.115.21.192.168.115.22.192.168.115.23.192.168.115.24 规划:21为master节点,22为副本节点,23为副本节点,24为延迟节点 目的:完成副本集模式集群的部署 测试延

MongoDB基础介绍安装与使用

MongoDB已经日益成为流程和主流的数据库了,原因有两个:第一个就是技术优势,第二就是便利性,个人使用部署都很方便. MongoDB的优缺点,以及使用场景 优点: 面向文档存储(自由读高,不需要定义表的结构,即存即用) 更高的写入负载,插入,更改快速 高效存储二进制大对象(照片.视频等) 复制和故障切换支持 Auto-Sharding自动分片支持云级扩展性 缺点 不支持事物 占用空间大 使用场景 所以MongoDB更擅长处理大数量的自由度高切不重要的表单. 安装部分 1.首先要去官网下载安装包