quarta-feira, 27 de julho de 2016

Instalando MongoDB 3.2 no Linux Mint Debian Edition


Passo a passo seguindo as orientações do site do Mongo: link


1. Importar a chave pública usada pelo sistema de gerenciamento de pacotes

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927

2. Adicione o repositório do MongoDB 3.2 no sourcelist do seu sistema

echo "deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.2 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

3. Atualize a lista de pacotes dos repositórios

sudo apt-get update

4. Instale  os pacotes do MongoDB

4.1 Para instalar a última versão estável do MongoDB

sudo apt-get install -y mongodb-org

4.2 Para instalar uma versão específica

sudo apt-get install -y mongodb-org=3.2.8 mongodb-org-server=3.2.8 mongodb-org-shell=3.2.8 mongodb-org-mongos=3.2.8 mongodb-org-tools=3.2.8

5. Verifique o status do serviço do mongod

O daemon do MongoDB tem o nome de mongod e pode ser verificado em /etc/init.d/mongod
sudo service mongod status
Caso o serviço esteja parado, inicie-o
sudo service mongod start
Por padrão os arquivos do mongo ficam em /var/lib/mongodb e o log em /var/log/mongodb

Caso queira alterar os caminhos, modifique em /etc/mongod.conf
Veja em systemLog.path e storage.dbPath para maiores informações.

6. Entre no shell do mongo

mongo

Para sair

Entre com o comando quit() no shell do mongo ou Ctrl + c
> quit()

Aviso do transparent_hugepage

Caso recebe o seguinte aviso ao entrar no shell do mongo, siga as orientações propostas no site do mongoBD. Fonte: link

** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
**        We suggest setting it to 'never'

1. Crie o seguinte script no /etc/init.d

sudo vim /etc/init.d/disable-transparent-hugepages

2. Cole o seguinte conteúdo no script

#!/bin/sh
### BEGIN INIT INFO
# Provides:          disable-transparent-hugepages
# Required-Start:    $local_fs
# Required-Stop:
# X-Start-Before:    mongod mongodb-mms-automation-agent
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Disable Linux transparent huge pages
# Description:       Disable Linux transparent huge pages, to improve
#                    database performance.
### END INIT INFO

case $1 in
  start)
    if [ -d /sys/kernel/mm/transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/transparent_hugepage
    elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
      thp_path=/sys/kernel/mm/redhat_transparent_hugepage
    else
      return 0
    fi

    echo 'never' > ${thp_path}/enabled
    echo 'never' > ${thp_path}/defrag

    unset thp_path
    ;;
esac

3. Torne o script executável

sudo chmod 755 /etc/init.d/disable-transparent-hugepages

4. Configure o iniciar o script no boot do sistema

Para Debian/Ubuntu:

sudo update-rc.d disable-transparent-hugepages defaults

Para SUSE:

sudo insserv /etc/init.d/disable-transparent-hugepages

Para Red Hat, CentOS, Amazon Linux, and derivatives:

sudo chkconfig --add disable-transparent-hugepages


Para remover o MongoDB


1. Pare o serviço do mongod

sudo service mongod stop

2. Remova os pacotes

sudo apt-get purge mongodb-org*

3. Remova os diretórios dos arquivos do MongoDB

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb





quarta-feira, 20 de julho de 2016

Criar usuário no MySql

Para criar um novo usuário no MySql proceda da seguinte forma:

- Faça o acesso a área do MySql.

$ mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 43
Server version: 5.5.49-0+deb8u1 (Debian)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

- Agora pelo shell do MySql vamos criar o novo usuário.

mysql> CREATE USER 'novousuario'@'localhost' IDENTIFIED BY 'pass';
Query OK, 0 rows affected (0.00 sec)

- Vamos dar permissão total ao novo usuário.

mysql> GRANT ALL PRIVILEGES ON * . * TO 'novousuario'@'localhost';
Query OK, 0 rows affected (0.00 sec)

- Pronto, agora é só carregar os privilégios do novo usuário.

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

Repita o processo para o mesmo usuário para caso ele precise acessar remotamente a base. Para isso use 'novousuario'@'%' no lugar de 'novousuario'@'localhost'.

terça-feira, 12 de julho de 2016