Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom, para aqueles que vão começar a brincar com o MongoDB, vão precisar instalá-lo antes de poder seguir as dicas do @Suissa para fazer o Backup do seu MongoDB.
Então, claro, precisamos baixá-lo antes http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://www.mongodb.org/downloads
[neto@localhost opt]# wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.1.tgz
--2010-08-21 09:21:00-- http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.1.tgz
Resolvendo fastdl.mongodb.org... 204.246.169.227, 204.246.169.34, 204.246.169.29, ...
Conectando-se a fastdl.mongodb.org|204.246.169.227|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 25159934 (24M) [application/x-tar]
Salvando em: "mongodb-linux-x86_64-1.6.1.tgz"
100%[==========================================================================>] 25.159.934 112K/s em 2m 28s
2010-08-21 09:23:31 (166 KB/s) - "mongodb-linux-x86_64-1.6.1.tgz" salvo [25159934/25159934]
Com o arquivo em mãos, descompactamos-o:
[neto@localhost opt]# tar -zxvf mongodb-linux-x86_64-1.6.1.tgz
mongodb-linux-x86_64-1.6.1/
mongodb-linux-x86_64-1.6.1/THIRD-PARTY-NOTICES
mongodb-linux-x86_64-1.6.1/GNU-AGPL-3.0
mongodb-linux-x86_64-1.6.1/README
mongodb-linux-x86_64-1.6.1/bin/
mongodb-linux-x86_64-1.6.1/bin/mongo
mongodb-linux-x86_64-1.6.1/bin/mongos
mongodb-linux-x86_64-1.6.1/bin/mongodump
mongodb-linux-x86_64-1.6.1/bin/mongostat
mongodb-linux-x86_64-1.6.1/bin/mongofiles
mongodb-linux-x86_64-1.6.1/bin/mongoimport
mongodb-linux-x86_64-1.6.1/bin/mongosniff
mongodb-linux-x86_64-1.6.1/bin/mongorestore
mongodb-linux-x86_64-1.6.1/bin/mongod
mongodb-linux-x86_64-1.6.1/bin/bsondump
mongodb-linux-x86_64-1.6.1/bin/mongoexport
E, apenas para facilitar o acesso, criamos um link simbólico:
[neto@localhost opt]# ln -s mongodb-linux-x86_64-1.6.1 mongodb
Ok, se entramos no diretório mongodb, teremos o seguinte:
[neto@localhost opt]# cd mongodb
[neto@localhost mongodb]# find .
.
./README
./THIRD-PARTY-NOTICES
./GNU-AGPL-3.0
./bin
./bin/mongodump
./bin/mongofiles
./bin/mongoexport
./bin/mongos
./bin/mongoimport
./bin/mongo
./bin/bsondump
./bin/mongorestore
./bin/mongostat
./bin/mongosniff
./bin/mongod
Como pode ser visto, o diretório bin contém todos os binários do MongoDB.
Entre os vários binários, temos um que vamos utilizar agora:
./bin/mongod http://forum.imasters.com.br/public/style_emoticons/default/seta.gif O d no final, indica daemon
Para iniciar e parar o MongoDB, vamos criar um script para facilitar as coisas:
[neto@localhost mongodb]# vim /opt/mongodb/mongod
Colocamos o código abaixo no script:
#!/bin/bash
prog=mongod
start() {
echo -n $"iniciando $prog..."
/opt/mongodb/bin/mongod --quiet --config /etc/mongod.conf
}
stop() {
echo -n $"parando $prog..."
pid=`ps -o pid,command ax | grep mongod | awk '!/awk/ && !/grep/ {print $1}'`;
if [ "${pid}" != "" ]; then
kill -2 ${pid};
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo $"Use: $prog {start|stop}"
;;E damos permissões de execução:
[neto@localhost mongodb]# chmod +x mongod
Como pode ser notado, na função start(), usamos um arquivo de configuração (/etc/mongod.conf)
Precisamos criá-lo:
[neto@localhost mongodb]$ su
Senha:
[root@localhost mongodb]# vim /etc/mongod.conf
Nesse arquivo de configuração, colocamos o seguinte:
dbpath = /var/lib/mongodb
logpath = /var/lib/mongodb/mongodb.log
logappend = true
bind_ip = 127.0.0.1
port = 27017
fork = true
auth = true
Novamente, podemos notar dois caminhos, dbpath e logpath, vamos precisar criá-los:
[root@localhost mongodb]# mkdir /var/lib/mongodb/
[root@localhost mongodb]# touch /var/lib/mongodb/mongodb.log
Pronto, temos o script de inicialização e configuração, podemos iniciar nosso MongoDB:
[root@localhost mongodb]# /opt/mongodb/mongod start
iniciando mongod...forked process: 9587
all output going to: /var/lib/mongodb/mongodb.log
:D
Para maiores informações sobre as configurações http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://www.mongodb.org/display/DOCS/Command+Line+Parameters
http://www.mongodb.org/downloads#packages
Acredito que este link contenha a soluçao para 95% dos usuarios linux. Faltou soh um portage/emerge pra Gentoo...
Para quem vai usar o Mongo com PHP e já seguiu os passos para instalar o Driver PHP e utiliza Eclipse como IDE, pode baixar o phpdoc de todas as classes em http://mongo.improje...r/phpdoc.tar.gz
Utilizei exatamente o conteúdo do manual do PHP para comentar as classes, porém é muito útil para quem ainda não conhece todos os métodos e retorno de cada um ou apenas gosta da completação automática provida pelo IDE.
;)
Tenho o lampp instalando em meu servidor (php/apache/mysql), se eu instalando o mongoDB não vai ocasionar algum conflito ?
>
se eu instalando o mongoDB não vai ocasionar algum conflito ?
Não deve causar qualquer conflito, André.
Só pra deixar claro aqui, voltei a usar mongodb, porem para as versões 32 bits baixadas via sudo, ele não cria a pasta /data/db ..
então, provavelmente, quando vocês iniciarem o processo mongod, pra registrar o mongodb ao serviço, vai dar o seguinte erro:
andrey@andrey:~$ sudo su
root@andrey:/# cd ~
root@andrey:~# cd /usr/lib/mongodb
root@andrey:/usr/lib/mongodb# ls
mongo mongodump mongofiles mongorestore mongostat
mongod mongoexport mongoimport mongos xulwrapper
root@andrey:/usr/lib/mongodb# mongod
/usr/lib/mongodb/mongod --help for help and startup options
Fri Jul 15 12:44:34 Mongo DB : starting : pid = 26078 port = 27017 dbpath = /data/db/ master = 0 slave = 0 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations for more
Fri Jul 15 12:44:34 Assertion: 10296:dbpath (/data/db/) does not exist
0x810a8f2 0x8284c5c 0x8284d6c 0x8287f92 0xd09ce7 0x80bd301
/usr/lib/mongodb/mongod(_ZN5mongo11msgassertedEiPKc+0x2b2) [0x810a8f2]
/usr/lib/mongodb/mongod(_ZN5mongo14_initAndListenEiPKc+0x108c) [0x8284c5c]
/usr/lib/mongodb/mongod(_ZN5mongo13initAndListenEiPKc+0x2c) [0x8284d6c]
/usr/lib/mongodb/mongod(main+0x3092) [0x8287f92]
/lib/libc.so.6(__libc_start_main+0xe7) [0xd09ce7]
/usr/lib/mongodb/mongod() [0x80bd301]
Fri Jul 15 12:44:34 exception in initAndListen std::exception: dbpath (/data/db/) does not exist, terminating
Fri Jul 15 12:44:34 dbexit:
Fri Jul 15 12:44:34 shutdown: going to close listening sockets...
Fri Jul 15 12:44:34 shutdown: going to flush oplog...
Fri Jul 15 12:44:34 shutdown: going to close sockets...
Fri Jul 15 12:44:34 shutdown: waiting for fs preallocator...
Fri Jul 15 12:44:34 shutdown: closing all files...
Fri Jul 15 12:44:34 closeAllFiles() finished
Fri Jul 15 12:44:34 dbexit: really exiting now
root@andrey:/usr/lib/mongodb#
Percebam que tem um erro, informando que a pasta data, data/db não existe, então vamos cria-la:
root@andrey:/usr/lib/mongodb# cd ..
root@andrey:/usr/lib# mkdir /data
root@andrey:/usr/lib# mkdir /data/db
root@andrey:/usr/lib# cd mongodb
root@andrey:/usr/lib/mongodb# mongod
/usr/lib/mongodb/mongod --help for help and startup options
Fri Jul 15 12:46:19 Mongo DB : starting : pid = 26102 port = 27017 dbpath = /data/db/ master = 0 slave = 0 32-bit
** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
** see http://blog.mongodb.org/post/137788967/32-bit-limitations for more
Fri Jul 15 12:46:19 db version v1.4.4, pdfile version 4.5
Fri Jul 15 12:46:19 git version: nogitversion
Fri Jul 15 12:46:19 sys info: Linux roseapple 2.6.24-28-server #1 SMP Wed Aug 18 21:17:51 UTC 2010 i686 BOOST_LIB_VERSION=1_42
Fri Jul 15 12:46:19 waiting for connections on port 27017
Fri Jul 15 12:46:19 listen(): bind() failed errno:98 Address already in use for port: 27017
Fri Jul 15 12:46:19 MiniWebServer: bind() failed port:28017 errno:98 Address already in use
Fri Jul 15 12:46:19 addr already in use
Fri Jul 15 12:46:19 warning: web admin interface failed to initialize on port 28017
No caso, pra verificar se o serviço está mesmo rodando:
andrey@andrey:~$ GET 127.0.0.1:27017 -U
GET http://127.0.0.1:27017
User-Agent: lwp-request/5.834 libwww-perl/5.836
You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number
andrey@andrey:/usr/lib/mongodb$ mongo
MongoDB shell version: 1.4.4
url: test
connecting to: test
type "exit" to exit
type "help" for help
>
Pra instalar via sudo:
sudo apt-get install mongodb
Voilà
;)
BOA! :joia:
Jean, postei também um tutorial na área de PHP, que também é uma das mais movimentadas aqui do fórum, de como instalar o MongoDB juntamente com as extensões necessárias ou 'a' extensão necessária para utilizar o objeto Mongo do PHP.
Segue o link :seta: http://forum.imasters.com.br/topic/438919-instalando-mongodb-com-php/
;)
Caso você use MAC deve fazer o mesmo procedimento que vai funcionar perfeitamente.
O MAC como o Linux tem alguns gerenciador de pacote o PORT e BREW, caso queira instalar por eles é super simples, veja abaixo:
PORT:
$ sudo port install mongodb
BREW
$ brew install mongodb
Mais informações sobre como instalar MongoDB no MAC: http://www.mongodb.org/display/DOCS/Quickstart+OS+X
@mongodb