Mongodb以及rockmongo安装
Mongodb安装
以centos6.x_x_64位系统为例,我们使用yum安装
1.添加yum源
在/etc/yum.repos.d/目录下创建文件10genmon.repo(名字随意,.repo结尾就行),它包含MongoDB仓库的配置信息
[root@zwj yum.repos.d]# pwd
/etc/yum.repos.d
[root@zwj yum.repos.d]# cat 10genmon.repo
[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=
2.使用yum安装
[root@zwj 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.-.x86_64 already installed and latest version
Nothing to do
[root@zwj yum.repos.d]# rpm -qa|grep mongod
mongodb-org-shell-2.6.12-1.x86_64
mongodb-org-server-2.6.12-1.x86_64
mongodb-org-tools-2.6.12-1.x86_64
mongodb-org-2.6.12-1.x86_64
mongodb-org-mongos-2.6.12-1.x86_64
[root@zwj 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.
connecting to: test
> use admin
switched to db admin
> db.addUser('root','xxxx') > exit
bye
- /etc/mongod.conf中添加auth=true,然后重启/etc/init.d/mongod restart
一旦设置认真,所有的操纵均需要经过认证
[root@zwj mongodb]# mongo
MongoDB shell version: 2.6.
connecting to: test
> use admin
switched to db admin
> show collections
2017-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 collections
system.indexes
system.users
system.version
>
我们不可能把管理员账号非每一个使用者,所以我们可以给某个数据库建立账号,然后提供给指定用户
- 给指定数据库添加一个账户,要先切换到admin,登陆有再切换到目标数据库完成账户创建
[root@zwj yum.repos.d]# mongo TestDB
MongoDB shell version: 2.6.
connecting to: TestDB
> use admin
switched to db admin
> db.auth('root','xxxx') > 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
- 安装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
#检查是否安装成功
[root@zwj mongodb]# php -v
PHP 5.3. (cli) (built: Mar ::)
Copyright (c) - The PHP Group
Zend Engine v2.3.0, Copyright (c) - Zend Technologies
[root@zwj mongodb]# /etc/init.d/php-fpm status
php-fpm (pid ) 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文件
[root@zwj ~]# 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 = ; /**
* 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"] = "";//mongo port,需要和/etc/mongod.conf中一致,否则rockmongo程序找不到我们的mongod服务
$MONGO["servers"][$i]["mongo_timeout"] = ;//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处理
[root@zwj ~]# vi /etc/nginx/conf.d/rockmongo.conf server {
listen ; #rockmongo对外的监听端口
root /usr/share/nginx/html/rockmongo;
try_files $uri /index.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:;
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
[root@zwj 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=
enabled=
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
Mongodb以及rockmongo安装的更多相关文章
- MongoDB Windows环境安装及配置
MongoDB一般安装 1.首先到官网(http://www.mongodb.org/downloads )下载合适的安装包,目前的最新版本为2.6 安装包有zip和msi格式的,这里推荐下载zip格 ...
- 【MongoDB】 Windows 安装
Windows下安装MongoDB,虽然网上有很多攻略,但是还是有很多坑,为了以后少犯错误,特此记录. 1.下载安装包 https://fastdl.mongodb.org/win32/mongodb ...
- MongoDB 入门之安装篇
前言:MongoDB 在各 OS 上的安装比较简单,此文章只用来记录,不考虑技术深度. 一.Ubuntu 导入 MongoDB 公钥,添该软件源文件,更新源列表 sudo apt-key adv -- ...
- 1. 初探MongoDB —— 介绍、安装和配置
一.写在前面 之前一直以来,都是使用关系型数据库.也很早就听闻,当数据量大的时候,关系型数据库使用起来会有很多问题.诸如查询数据慢,加载花费时间长等等. 也早就耳闻NOSQL(NoSQL = Not ...
- MongoDB(三)mongoDB下载和安装
软件下载 下载mongodb最新的包:http://www.mongodb.org/downloads 下载mongodb可视化界面,mongoVUE:http://download.csdn.net ...
- [MongoDB] - Window7下安装及BSON基本介绍
MongoDB是一种NOSQL(Not Only SQL)类型的文档型数据库.NoSQL数据库与传统的关系型数据库相比,它具有操作简单.完全免费.源码公开.随时下载等特点,并可以用于各种商业目的.Mo ...
- MongoDB基础介绍安装与使用
MongoDB已经日益成为流程和主流的数据库了,原因有两个:第一个就是技术优势,第二就是便利性,个人使用部署都很方便. MongoDB的优缺点,以及使用场景 优点: 面向文档存储(自由读高,不需要定义 ...
- mongoDB数据库的安装与配置
noSql数据库MongoDB的安装地址:https://www.mongodb.com/download-center?jmp=nav#community 选择相应的版本进行下载,在此以window ...
- 【MongoDB】MongoDB的下载 安装 配置及使用
windows系统 教程 1.下载地址 (官方提供根据系统位数选择对应的bit.exe下载) 由于自己win32系统不支持该官方版本,在网上又找了个 mongodb-win32-i386版本 p ...
随机推荐
- UWP Composition API - New FlexGrid 锁定行列
如果之前看了 UWP Jenkins + NuGet + MSBuild 手把手教你做自动UWP Build 和 App store包 这篇的童鞋,针对VS2017,需要对应更新一下配置,需要的童鞋点 ...
- 设置EditText控件中提示消息hint的字体颜色和大小
设置EditText控件中提示消息hint的字体颜色和大小 1.设置字体大小 代码例: public void init(){ hint= (EditText) findViewById(R.id.i ...
- Android -- 贝塞尔曲线公式的推导
1,最近看了几个不错的自定义view,发现里面都会涉及到贝塞尔曲线知识,深刻的了解到贝塞尔曲线是进阶自定义view的一座大山,so,今天先和大家来了解了解. 2,贝塞尔曲线作用十分广泛,简单举几个的栗 ...
- JSAAS的Activiti会签开发扩展处理
1.什么是会签? 在流程业务管理中,任务是通常都是由一个人去处理的,而多个人同时处理一个任务,这种任务我们称之为会签任务.这种业务需求很常见,如一个请款单,领导审批环节中,就需要多个部门领导签字.在流 ...
- MYSQL中 ENUM 类型的详细解释
ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举. 在下列某些情况下,值也可以是空串("") 或 NULL: 如果将一个无效值插 ...
- mysql 分析第一步
分析mysql 慢的原因 思路 通过脚本观察 status -->看是否会出现周期性波动 一般由访高峰或缓存崩溃引起 加缓存更改 缓存失效策略 使失效时间分散 或夜间定时失效 --&g ...
- html+css底部自动固定底部
前端在切图过程中,肯定遇见过这种情况. 页面结构由三个部分组成,头部.内容.底部. 当一个页面的内容没撑满屏幕时,底部是跟着内容而并列存在的. 这个时候如果是大屏的话,底部下面会有多余的空白区域,而网 ...
- Linux 安装SVN服务器 (转)
一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...
- Java容器的各种总结
Java容器指的是List,Set,Map这些类.由于翻译的问题,问到集合,Collection这些指的都是它们几个. List ArrayList 随机访问快 LinkedList 插入删除快 这个 ...
- 【zzulioj 2135】 这里是天堂!
先考虑当前情况可行与否: 如果当a>n或者b>m时是绝对不行的,概率为0: 当a+b<m+n时,k一定等于a+b,否则概率为0: 当a+b==m+n时,k>=a+n,否则概率为 ...