MySQL - Problema de incompatibilidade[ 'RESOLVIDO']

Iniciado por Cão, 18 de Agosto de 2017, 17:46

tópico anterior - próximo tópico

Cão

Esta é a versão do meu client
mysql  Ver 14.14 Distrib 5.7.19, for Linux (i686) using  EditLine wrapper

E este é um script de exemplo:
#!/bin/bash
path="$2"
conn="$1"
IFS='\|'
while read f1 f2 f3 f4 f5; do
    if [[ $conn == *"$f1"* ]]; then
        estd="$f1"
        host="$f2"
        port="$f3"
        user="$f4"
        pass="$f5"
break       
fi
done <~/Estados/connBD

#echo "$host $port $user $pass"
if [[ -n $path ]]; then
    printf "Executando em %s\n" "$estd"
    printf "Informe a base a ser acessada:\n"
    read bd
        mysql -h$host -P$port -u$user -p$pass -D$bd <$path
else
    printf "Conectando em %s ... \n" "$estd"
    mysql -h$host -P$port -u$user -p$pass
fi
-------------------------------------------------------------------------------------------------------------------------------------------------------
Esse script me conecta via terminal com um servidor escolhido em um .csv, e tenho observado que ele não funciona nos servidores com MySQL4 instalado.
Existe alguma solução para tal problema? Alguma ferramenta com a facilidade de se chamar em shell scripts, e que seja compatível com pelo menos essas duas versões do MySQL?



irtigor

Porque não modifica o script? Pega a versão do mysql e decide o que passar como parâmetro.

Cão

Eu consegui uma solução baixando o mysql4 compactado.
Então descompactei e executava o arquivo 'mysql' dentro da pasta bin para os servidores com essa versão do banco instalada.

Enfim, era possível instalá-lo, tornando ele acessível pela variável $PATH, mas era preciso ter o mysql 5 também.