Arquivos mensais: junho 2019

Exportar múltiplos bancos de dados sql | Mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/bin/bash
destino="./databases"
usuario="root"
echo "Informe a senha do usuário $usuario para Mysql:"
read senha
log="$destino/erro.log"
 
if [ -z $senha ]; then
        echo "Define a senha do Root para Mysql"
        exit
else
        echo "Testando senha..."
        mysql -uroot -p$senha -e "show databases;" > /dev/null 2>&1
        if [ $? -ne 0 ];then
                echo "Nao pode conectar ao Mysql com password informado."
                exit
        fi
        echo "Prosseguindo..."
fi
 
# Cria diretório para armazenamento dos bancos se não existe
if [ ! -d $destino ];then
    mkdir $destino
fi
 
for i in $(mysql -u$usuario -p$senha -e "show databases")
do
        #echo "Executando dump do banco de dados $i"
        mysqldump -u$usuario -p$senha $i > $destino/$i > /dev/null 2>&1
        if [ $? -ne 0 ];then
                echo "Erro ao exportar $i"
                echo "Erro ao exportar $i" >> $log
        fi
        echo "Banco de dados $i exportado."
done
 
echo "Sucesso!"
echo "Verifique o diretório $destino"

Importar múltiplos bancos de dados sql | Mysql

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash
origem="diretorio_dos_arquivos_sql"
senha="";
 
if [ -z $senha ]; then
        echo "Define a senha do Root para Mysql"
        exit
else
        echo "Testando senha..."
        mysql -uroot -p$senha -e "show databases;" > /dev/null 2>&1
        if [ $? -ne 0 ];then
                echo "Nao pode conectar ao Mysql com password informado."
                exit
        fi
        echo "Prosseguindo..."
fi
 
for i in $(ls $origem)
do
        echo "Criando banco de dados $i"
        mysql -uroot -p$senha -e "CREATE DATABASE $i CHARACTER SET utf8 COLLATE utf8_general_ci;"
        echo "Importando banco de dados $i"
        mysql -uroot -p$senha -e "use $i ; source $origem/$i;"
done
echo "Terminado."