Download / Compile a versão local do mysqldump

0

Estou usando um servidor da Web administrado por outra pessoa. A versão de mysqldump neste servidor é de 2011:

$ mysqldump --help mysqldump Ver 10.13 Distrib 5.1.63, for debian-linux-gnu (x86_64) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Como resultado, quando tento fazer um despejo de banco de dados, recebo esta saída:

mysqldump: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' at line 1 (1064)

De acordo com este link , preciso atualizar o mysqldump .

Eu pedi ao meu administrador de sistema para fazer isso e recebi respostas genéricas não úteis. Eu duvido que eu seja capaz de convencê-los a fazer o upgrade. Mudar para um novo servidor não é uma opção no momento.

Existe alguma maneira de baixar e compilar uma versão local em meu diretório pessoal (sem precisar compilar dependências de um gazilhão)? Se sim, você se importaria de me apontar na direção certa?

Obrigado!

    
por JoshuaD 11.12.2016 / 23:08

2 respostas

1

Seu link também contém a solução mais rápida:

Andre Couture • 3 years ago

Hi, I had the same issue trying to mysqldump a 5.6 database in order to downgrade. I took a slightly different approach as I did not had the luxury to install mysql-client5.6

I simply did a copy of /usr/bin/mysqldump, vi -b mysqldump look for SET OPTION ( use the '/' command) replace the first character by # in order to read "#ET OPTION" (use the 'r' command) save and ran my dump ( ESC :x )

Now you have a version of mysqldump that can connect and dump data from mysql5.6

Worked like a charm for me

    
por 11.12.2016 / 23:28
1

Verifique primeiro o disco rígido do servidor. Se eles estão rodando uma versão mais nova do MySQL, a versão correta de mysqldump deve estar lá ... talvez eles não a tenham no caminho de busca, ou a antiga está mais acima na seqüência de busca.

Caso contrário ... não encontre uma cópia do executável de uma máquina similar e faça uma cópia dela. Existem binários pré-construídos em tarballs no site de download oficial que procuram o "Linux Generic Compressed TAR" 32 ou 64 versão de bits, conforme apropriado. Não deve haver necessidade de compilar nada ou "instalar" nada. O arquivo estará no diretório bin/ . Isso deve ser tudo que você precisa. Estou razoavelmente certo de que é totalmente auto-suficiente.

Ou copie-o da sua máquina. Eles são muito fáceis de portar.

Mas também ... você sabe que não há necessidade de executar mysqldump na máquina do servidor, certo? Não importa onde está funcionando. Não lê qualquer coisa do disco rígido do servidor. Ele usa uma conexão de cliente comum, através do soquete unix localmente ou para a porta TCP 3306, e todos os dados fluem através dessa conexão ... o que ... se isso não for diretamente aberto a você, geralmente você pode transportar através de um túnel andando livre com sua sessão de shell ssh.

    
por 12.12.2016 / 00:49