Differences

This shows you the differences between two versions of the page.

Link to this comparison view

importar_banco_de_dados_mysql_pt_br [2019/08/08 15:23] (current)
Line 1: Line 1:
 +====== Script para efetuar a importação do banco de dados MySQL  ======
  
 +E ai galera, aqui eu vou disponibilizar um script para efetuar a importação do banco de dados, este script importa o banco desde que ele tenha sido exportado com o seguinte script: http://wiki.douglasqsantos.com.br/doku.php/backup_banco_de_dados_mysql_pt_br
 +
 +Vamos ao nosso script 
 +<sxh bash>
 +vim /usr/src/importa_mysql.sh
 +#!/bin/bash
 +#
 +# importa_mysql
 +#
 +# Script para realizar da importação dos dados exportados com o 
 +# exporta_mysql pois a importação é feita base a base da estrutura e depois dos dados
 +#
 +# Autor : Douglas Q. dos Santos <douglas.q.santos@gmail.com>
 +# Manutenção: Douglas Q. dos Santos <douglas.q.santos@gmail.com>
 +#
 +#
 +#----------------------------------------------------------------------
 +
 +# Este programa faz a configuração dos repositórios, chaves dos repositórios,
 +# instala um conjunto básico de aplicativos necessários para a operação de um
 +# servidor utilizando o sitema Debian GNU/Linux 
 +#
 +# Exeplos: 
 +#       $ ./importa_mysql.sh
 +# Após executar o script vai a importação de toda a estrutura que foi exportada 
 +# com o export_mysql
 +# nos temos a seguinte situação for END in $(cat ${BASES} | grep bancodedados)
 +# nessa situação efetuariamos a importação de somente um determinado banco de dados
 +# caso contrário temos a seguinte situação: for END in $(cat ${BASES})
 +# nessa situação vamos importar todos os bancos de dados.
 +# a primeira situação esta comentada por padrão.
 +#---------------------------------------------------------------------
 +#
 +#
 +# Histórico:
 +# v1.0 2011-04-14, Douglas Q. dos Santos:
 +#       - Versão inicial
 +# Licença: http://creativecommons.org/licenses/by-sa/3.0/legalcode
 +#-------------------------------------------------------------------------
 +clear
 +############VALIDANDO O USUARIO QUE EXECUTANDO O SCRIPT##############################
 +USU=$(whoami)
 +
 +if [ "${USU}" != root ]; then
 +  echo -e
 +  echo -e "=============================================================================="
 +  echo -e " ESTE PROGRAMA PRECISA SER EXECUTADO COM PERMISSOES DE SUPERUSUARIO!"
 +  echo -e " Abortando..."
 +  echo -e "=============================================================================="
 +  echo -e
 +  exit 1
 +fi
 +
 +GREY="\033[01;30m"
 +RED="\033[01;31m"
 +GREEN="\033[01;32m"
 +YELLOW="\033[01;33m"
 +BLUE="\033[01;34m"
 +PURPLE="\033[01;35m"
 +CYAN="\033[01;36m"
 +WHITE="\033[01;37m"
 +CLOSE="\033[m"
 +
 +echo -e  "${RED}####################################################################${CLOSE}"
 +echo -e "${RED}# Este script estara trabalhando com o seguinte processo ${GREEN} $$ ${CLOSE}   ${CLOSE}"
 +echo -e  "${RED}####################################################################${CLOSE}"
 +
 +sleep 3
 +
 +### COMANDOS USADOS NO SCRIPT ###
 +MYSQLDUMP=$(which mysqldump)
 +MYSQL=$(which mysql)
 +MKDIR=$(which mkdir)
 +FIND=$(which find)
 +RM=$(which rm)
 +
 +### ARQUIVOS UTILIZADOS NO SCRIPT ###
 +BASES="/srv/dump/bases"
 +PERMISSOES="/srv/dump/permissoes.sql"
 +
 +### SENHAS DO USUARIO ROOT DO BANCO ###
 +SENHA="S3NH4"
 +
 +### DIRETORIOS USADOS NO SCRIPT ###
 +BANCOS="/srv/dump/bancos"
 +VALIDAR="/srv/dump/validar"
 +ESTRUTURA_BANCOS="/srv/dump/bancos/estrutura"
 +DADOS_BANCOS="/srv/dump/bancos/dados"
 +VALIDAR_ESTRUTURA="/srv/dump/validar/estrutura"
 +VALIDAR_DADOS="/srv/dump/validar/dados"
 +
 +### VALIDA SE EXISTE DIRETORIO PARA ARMAZENAR OS LOGS ###
 +if [ ! -d ${VALIDAR} ]; then
 +  ${MKDIR} -p ${VALIDAR} 2> /dev/null
 +fi
 +
 +if [ ! -d ${VALIDAR_ESTRUTURA} ]; then
 +  ${MKDIR} -p ${VALIDAR_ESTRUTURA} 2> /dev/null
 +fi
 +
 +if [ ! -d ${VALIDAR_DADOS} ]; then
 +  ${MKDIR} -p ${VALIDAR_DADOS} 2> /dev/null
 +fi
 +
 +
 +### IMPORTA USUARIOS E PERMISSOES ###
 +#echo -e "${GREEN} IMPORTA USUARIOS E PERMISSOES${CLOSE}"
 +#${MYSQL} -u root -p${SENHA} -B mysql < ${PERMISSOES} 2> ${VALIDAR}/permissoes_error_import
 +
 +### IMPORTANDO AS TABELAS RELACIONADAS NO ARQUIVO ${BASES} ###
 +#for END in $(cat ${BASES} | grep bancodedados)
 +for END in $(cat ${BASES})
 +do
 +### IMPORTANDO A ESTRUTURA ###
 +echo -e "${GREEN} IMPORTANDO A ESTRUTURA DO BANCO${RED} ${END} ${CLOSE} ${CLOSE}"
 +sleep 2
 +${MYSQL} -u root -p${SENHA} <  ${ESTRUTURA_BANCOS}/${END}_estrutura.sql 2> ${VALIDAR_ESTRUTURA}/${END}_estrutura_error_import
 +
 +### IMPORTANDO OS DADOS ###
 +echo -e "${GREEN} IMPORTANDO OS DADOS DO BANCO${RED} ${END} ${CLOSE} ${CLOSE}"
 +sleep 2
 +${MYSQL} -u root -p${SENHA}  < ${DADOS_BANCOS}/${END}_dados.sql 2> ${VALIDAR_DADOS}/${END}_dados_error_import
 +
 +### IMPORTANDO TODAS AS BASES ###echo -e "${GREEN} DUMP DA ESTRUTURA DO BANCO ${RED} ${END} ${CLOSE} ${CLOSE}"
 +#echo -e "${GREEN} IMPORTANDO BACKUP FULL DE TODOS OS BANCOS ${CLOSE}"
 +#sleep 2
 +#${MYSQ} -u root -p${SENHA} -R -c -t -e -v  > ${DADOS_BANCOS}/${END}_all.sql 2> ${VALIDAR_DADOS}/${END}.error
 +done
 +
 +### REMOVENDO OS LOGS VAZIOS ###
 +echo -e "${GREEN} REMOVENDO ARQUIVOS DE LOGS VAZIOS ${CLOSE}"
 +sleep 2
 +if [ -d ${VALIDAR_ESTRUTURA} ]; then
 +${FIND} ${VALIDAR_ESTRUTURA} -empty -exec ${RM} -rf {} \;
 +fi
 +
 +if [ -d ${VALIDAR_DADOS} ]; then
 +${FIND} ${VALIDAR_DADOS} -empty -exec ${RM} -rf {} \;
 +fi
 +</sxh>
 +
 +Agora precisamos dar a permissão para o nosso script
 +<sxh bash>
 +chmod +x /usr/src/importa_mysql.sh
 +</sxh>
 +
 +Agora vamos mandar executar o nosso script
 +<sxh bash>
 +/usr/src/importa_mysql.sh
 +####################################################################
 +# Este script estara trabalhando com o seguinte processo  19076    
 +####################################################################
 + IMPORTANDO A ESTRUTURA DO BANCO mail  
 + IMPORTANDO OS DADOS DO BANCO mail  
 + IMPORTANDO A ESTRUTURA DO BANCO mysql  
 + IMPORTANDO OS DADOS DO BANCO mysql  
 + IMPORTANDO A ESTRUTURA DO BANCO roundcubemail  
 + IMPORTANDO OS DADOS DO BANCO roundcubemail  
 + IMPORTANDO A ESTRUTURA DO BANCO webmail2  
 + IMPORTANDO OS DADOS DO BANCO webmail2  
 + REMOVENDO ARQUIVOS DE LOGS VAZIOS 
 +</sxh>