2019独角兽企业重金招聘Python工程师标准>>>

一、WINDOWS环境

1、下载mogodb

MongoDB的官网是:http://www.mongodb.org/

MongoDB最新版本下载在官网的DownLoad菜单下:http://www.mongodb.org/downloads

官网有时候打不开,下载解压后将bin放在D:\APMServ5.2.6\Mongo目录

2、创建文件夹

在D:\APMServ5.2.6\Mongo创建data文件夹,创建conf文件夹,然后再data文件夹创建db文件夹跟log文件夹

在conf中创建mongodb.conf,代码如下

# Start MongoDB as a daemon on port 8908port = 27017
journal = true
rest = true
auth = false
logappend = true
dbpath = D:/APMServ5.2.6/Mongo/data/db
logpath =  D:/APMServ5.2.6/Mongo/data/log/mongod.log

数据库放在data/da目录下,日志放在data/log目录

3、执行命令,安装mongodb数据库

进入命令行,输入cd D:\APMServ5.2.6\Mongo\bin(当然在windows环境下要先d:)

mongod -dbpath "D:/APMServ5.2.6/Mongo/data/db"

执行此命令即将mongodb的数据库文件创建到D:/APMServ5.2.6/Mongo/data/db 目录,不出意外的会看到命令最后一行sucess的成功提示

此时数据库就已启动,该界面为Mongo的启动程序,关闭后可直接双击bin下的mongod.exe  (注意是d,这个是启动程序)

启动程序开启后,再运行mongo.exe 程序(注意没有d)

4、将mogodb安装成服务

命令行输入

D:\APMServ5.2.6\Mongo\bin\mongod --config D:/APMServ5.2.6/Mongo/conf/mongodb.conf --serviceName MongoDB --install

成功了的话就可以在计算机管理,服务里面看到MongoDB服务了,然后你就可以net start MongoDB来开启服务了。

除此以外,你可以进注册表regedit搜索MongoDB去看系统启动的服务,也可以http://localhost:28017来查看mongodb状况,用http://localhost:27017会提示失败的,因为有验证

其实我建议再配置文件先auth=false

装好后命令行进入bin目录,然后

show dbs

use admin

db.addUser('admin','123456');

这个时候你再db.auth('admin','123456')之前show dbs是无法成功的。
5、让php可以访问mongodb

https://github.com/mongodb/mongo-php-driver/downloads

在上面的地址选择合适的dll版本

将上面这个文件复制到D:\APMServ5.2.6\PHP\ext目录中,要看PHP版本来选择,不要5.2搞成5.3了,PHP版本可以在PHPINFO里面看

修改php.ini,添加extension=php_mongo-1.3.1-5.2-vc9.dll

为什么要选择1.3版本,你会发现如果是1.2.10版本thinkphp会报错的,1.3以下版本是没有mongoClient这个类的

if ( !class_exists('mongoClient') ) {

hrow_exception(L('_NOT_SUPPERT_').':mongoClient');

}

下面就是可以phpinfo来测试了

6、简单的moogodb操作

use admin
db.addUser('admin','123456')
show users相当于db.system.users.find()
mongo test //建立了一个test表
db.addUser('test','123456')
db.removeUser("test")
db.createCollection("collName", {size: 20, capped: 5, max: 100});

对于mongodb,系统有用户表,每个数据库也有用户表,但是貌似单独在用户表中建立的用户是无法直接访问mongodb的,非得要到admin库里面auth一下才可以

二、LINUX安装配置

将mogodb装在了/usr/local/src/mongodb/目录,数据库在/data/mongodb/db里,日志文件在/data/mongodb/logs里面

cd /usr/local/src/
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.8.tgz
tar zxvf mongodb-linux-x86_64-2.4.8.tgz
ln -s mongodb-linux-x86_64-2.4.8 mongodb
mkdir -p /data/mongodb/db
mkdir -p /data/mongodb/logs
cd /usr/local/src/mongodb/bin
./mongod --dbpath=/data/mongodb/db --logpath=/data/mongodb/logs/mongodb.log --logappend

注意这个时候会提示all output going to mongodb.log,这个时候不要control+c终止了,重新开个命令行

cd /usr/local/src/mongodb/

./mongo

use admin

db.addUser("admin","123456")

这样就可以退出了。

其他网上是让这样操作,其实我是没有试验成功的
echo "/home/mongodb/bin/mongod --dbpath=/mongodb_data/db --port=27017 --logpath=/mongodb_data/logs/mongodb.log --logappend --auth" >> /etc/rc.local

上面是设置开机启动的步骤,我没有试验成功,我是用如下代码试验成功的,MONGODB没有启动脚本,需要自己写

MONGODB配置文件的启动脚本如下:

#!/bin/sh
#
# mongod    This shell script takes care of starting and stopping
#    the MySQL subsystem (mongod).
#
# chkconfig: - 64 36
# description:  MySQL database server.
# processname: mongod
# config: /etc/mongodb.conf
# pidfile: /var/mongodb/logs/mongod.pid
### BEGIN INIT INFO
# Provides: mongod
# Required-Start: $local_fs $remote_fs $network $named $syslog $time
# Required-Stop: $local_fs $remote_fs $network $named $syslog $time
# Short-Description: start and stop MySQL server
# Description: MySQL database server
### END INIT INFOexec="/usr/local/src/mongodb/bin/mongod"
prog="mongod"mongodpidfile="/data/mongodb/mongod.pid"[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$proglockfile=/var/lock/subsys/$progstart(){[ -x $exec ] || exit 5$exec --config /usr/local/mongodb/bin/mongodb.conf
return 1;
}stop(){kill $(ps -ef | grep -v "grep" | grep "$prog" | awk '{print $2}') return 1;
}restart(){stopstart
}# See how we were called.
case "$1" instart)start;;stop)stop;;restart)restart;;*)echo $"Usage: $0 {start|stop|restart}"exit 2
esacexit $?

这个文件保存为mogo

然后cp /home/mogo /etc/init.d/mongod

chmod +x /etc/init.d/mongod

chkconfig --add mongod

chkconfig mongod on

service mongod start

要注意mongodb.conf

# mongo.conf
# where to log
dbpath=/data/mongodb/db
logpath=/data/mongodb/logs/mongodb.log
logappend=true
# fork and run in background
fork = true
port = 27017
auth = true

用这个就行了,保存在

【PS】下载的时候注意MONGODB版本问题,不要32位系统下载成64位的了,否则是无法执行的

sh /home/yanyun/meizitu/deploy/deploy_restart.sh

附加:WINDOWS服务器备份到LINUX服务器
备份数据库(这里是从windows备份)
cd F:\mongodb-win32-x86_64-2008plus-2.4.1\bin
mongodump -h localhost -d meizitu -u admin -p xiaobaobei -o d:\meiziback

恢复数据库(恢复到linux,提前将文件压缩后下载到了linux然后解压到了meizitu目录中)
mongorestore -d meizitu --drop /mongodb_data/db/meizitu

添加访问用户(默认的mongodb是没有用户名密码是可以直接访问的)
cd /home/mongodb/bin
./mongo
show dbs
use admin
show collections
db.addUser('root','pwd')
#show collections(报错,提示not authorized for query on admin)
#然后输入
db.auth('root','pwd')
show collections

如下我自己还没有检测:

mongodb的php驱动安装,使用phpize编译mongodb驱动扩展

将mongodb驱动解压,使用unzip命令
unzip mongodb-mongo-php-driver-(xxx: version).zip

[root@localhost ~]# unzip mongodb-mongo-php-driver-1.3.0beta2-134-g606c757.zip

[root@localhost ~]# cd mongodb-mongo-php-driver-606c757

[root  @localhost ~]# /usr/local/php/bin/phpize

[root@localhost ~]#  ./configure --with-php-config=/usr/local/php/bin/php-config --enable-mongo
[root@localhost ~]# make && make install

[root@localhost ~]# mkdir /usr/local/php/ext      //php下新建ext目录,用来存放php扩展

[root@localhost ~]# cp /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/mongo.so /usr/local/php/ext/ 
修改php.ini,开启mongo.so,在php.ini中加入一行

[root@localhost ~]#  vim /usr/local/apache/conf/php.ini 
extension=/usr/local/php/ext/mongo.so

[root@localhost ~]# service httpd restart

rockmongo配置(类似phpMyAdmin的mongodb管理工具)

将rockmongo解压缩后,移至/usr/local/apache/htdocs/下面

修改数据库连接配置,这个文件跟phpMyAdmin非常类似

[root@localhost ~]# vim /usr/local/apache/htdocs/rockmongo/config.php

$MONGO["servers"][$i]["mongo_name"] = "Localhost";                    //服务器名称,可以自定义

$MONGO["servers"][$i]["mongo_host"] = "127.0.0.1";                     //服务器IP地址

$MONGO["servers"][$i]["mongo_port"] = "27017";                          //mongodb端口

$MONGO["servers"][$i]["mongo_auth"] = false;                               //mongodb是否需要用户名密码验证

$MONGO["servers"][$i]["mongo_user"] = "MONGO_USERNAME";     //mongodb数据库用户名

$MONGO["servers"][$i]["mongo_pass"] = "MONGO_PASSWORD";     //mongodb数据库密码

$MONGO["servers"][$i]["control_auth"] = true;                                 //控制面板是否需要验证(必须开启true)

$MONGO["servers"][$i]["control_users"]["admin"] = "admin";            //控制面板登录的用户名及密码(前一个为用户名,后一个为密码)

rockmongo登录地址,用户名密码即为控制台的用户名及密码

http://192.168.0.21/rockmongo/

转载于:https://my.oschina.net/u/1186749/blog/616596

mongodb windows下以及linux下的配置相关推荐

  1. Windows下及linux下PVM并行计算平台的搭建

    Windows下及linux下PVM并行计算平台的搭建 Windows98下PVM的构建: 1.到http://www.csm.ornl.gov/pvm/网站下载PVM 3.4.3 Installsh ...

  2. Socket程序从windows移植到linux下需要注意的

    )头文件 windows下winsock.h或winsock2.h linux下netinet/in.h(大部分都在这儿),unistd.h(close函数在这儿),sys/socket.h(在in. ...

  3. Socket程序从Windows移植到Linux下的一些注意事项

    关于这个话题网上流传的是一个相同的版本,就是那个第一项是头文件的区别,但后面列出的头文件只有#include没有(估计是原版的在不断转载的过程中有人不小心忘了把尖括号转义,让浏览器当html标记解析没 ...

  4. Ubuntu环境下基于Linux进行DOL配置

    Ubuntu环境下基于Linux进行DOL配置 Description The distributed operation layer (DOL) is a framework that enable ...

  5. linux mongodb开机启动脚本,Linux下设置MongoDB开机自启动

    将MongoDB服务加入随机启动 vi /etc/rc.local 使用vi编辑器打开配置文件,并在其中加入下面一行代码 /usr/local/mongodb/bin/mongod -dbpath=/ ...

  6. linux系统下装windows双系统,LINUX下安装WINDOWS双系统

    第一种方法,安装虚拟机.现在的硬件,虚拟机也能跑很多程序了. 第二种方法,真正的双系统.有点麻烦.因为windows必须在主分区中.所在要在linux中安装windows 1.必须先清空一个主分区,最 ...

  7. linux运行windows程序6,linux 下通过wine 运行windows程序包括IE

    一.相关说明 Ubuntu9.10举例(因为它方便,N多东西直接在线安装,省得编译了),其他linux基本相同(不同的就是有些要进行源码安装,但用到的软件是一样的),整个安装我以经做成脚本放方便下载安 ...

  8. winscp linux中文文件夹名称乱码,解决windows传送到linux下中文文件名及文件内容乱码问题...

    linux下文件编码转换: 方法一: 在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式 :set fileencoding=utf-8 或者 11)设置文件集合,即要对哪些文件进行操 ...

  9. Python安装(Windows下安装/Linux下安装)

    1.准备工作 1.1.运行环境 课程中:Windows下的运行环境 1.2.Python是什么 (1)Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1 ...

  10. windows下,linux下c++生成文件夹

    windows下方法 方法1:使用system()函数调用 mkdir 命令 代码如下 #include <string> using namespace std;int main() { ...

最新文章

  1. #Ruby# Introspect (1)
  2. requests库和BeautifulSoup4库爬取新闻列表
  3. 华为首款搭载鸿蒙os 荣耀智慧屏,全球首款搭载鸿蒙OS终端! 荣耀智慧屏将在今天拉开面纱...
  4. PX4飞控中利用EKF估计姿态角代码详解
  5. C++ 的多态性与虚函数
  6. photoshop script
  7. C++11多线程实现银行存取款案例
  8. Zabbix触发器配置指定生效星期监控CPU使用率
  9. 数据分析对企业的重要性
  10. apache win下安装
  11. 【转】每一种创伤,都是一种成熟
  12. $on与$emit实现父子跨多组件通信
  13. soltrace教程(2)旧版本项目导入新版本
  14. sg nc的java下载,01_SG-NC-客户端安装说明及培训材料下载 3
  15. MyEclipse配置jdk
  16. 安卓手机怎么运行java?如何在Android手机上运行jAVA程序?
  17. 啡鸟集:什么样的咖啡豆,才是好的咖啡豆?
  18. javaScript打气球小游戏
  19. Stripe中的 googlePay 和 applePay (Java)
  20. jQuery里面的 .on 和 .bind 的区别

热门文章

  1. 2010年央视虎年春晚
  2. 计算机专业大一大二该怎样提升自己的专业技能?
  3. mac已经安装了flash,为啥浏览器提示未安装? 这里有答案。
  4. 力维智联加入飞桨技术伙伴计划,共同探索AIoT技术多场景创新应用
  5. CSS如何使用字体图标
  6. android命令抹机原理,[原创]利用xhook安卓系统底层抹机原理
  7. linux运行geant4例子,四步轻松安装Geant4 (Linux篇) | 入门
  8. 池化层(pooling layer)
  9. nginx配置ssl证书实现https访问
  10. 民生银行爆闷雷!利润下滑、不良高企,刘永好的新希望进出频繁