Sempre que tento fazer mysqldump
, recebo o seguinte erro:
$> mysqldump --single-transaction --host host -u user -p db > db.sql
mysqldump: Couldn't execute 'SELECT COLUMN_NAME, JSON_EXTRACT(HISTOGRAM,
'$."number-of-buckets-specified"') FROM
information_schema.COLUMN_STATISTICS WHERE SCHEMA_NAME = 'db' AND
TABLE_NAME = 'Absence';':
Unknown table 'COLUMN_STATISTICS' in information_schema (1109)
O resultado é um despejo que não está completo. O estranho é que o mesmo comando, executado a partir de outro host, funciona sem gerar erros. Alguém experimentou o mesmo problema?
Estou usando o mysql-client 8.0
e tento acessar um 5-7
servidor mysql - talvez seja esse o motivo?
--column-statistics=0
argumento à lista de argumentos gerados na caixa na parte inferior da janela pop-up.Para aqueles que usam o MySQL Workbench, existe um botão "Opções avançadas" na tela de exportação de dados. A opção "Usar estatísticas da coluna" pode ser desativada definindo-se como 0.
Não confirmei, mas as seguintes informações também foram sugeridas: Na versão 8.0.14, está faltando. Na versão 8.0.16, está fazendo isso por padrão.
fonte
--column-statistics=0
o comando de exportação.Passei o dia inteiro procurando uma solução, e fui até aqui apenas para compartilhar a minha.
Sim, provavelmente este erro ocorre devido à diferença de versões.
Basta baixar o arquivo ZIP do MySQL 5.7 aqui: https://dev.mysql.com/downloads/mysql/ e descompactá-lo, depois use o arquivo mysqldump.exe a partir daí.
Se você estiver usando o MySQL Workbench, precisará definir um caminho para a Ferramenta mysqldump que você baixou, indo em Editar -> Preferências -> Administração (no painel esquerdo).
Espero que isto ajude.
fonte
C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump.exe
Para facilitar essa resposta , você pode renomear
mysqldump
, criar um script de shell em seu lugar e chamar o renomeadomysqldump
com o--column-statistics=0
argumento Por exemplo:Renomeie o mysqldump:
Salve o seguinte script de shell em seu lugar:
fonte
Solução mais fácil
Ao usar o Mysql Workbench 8.0
Boa sorte!
fonte
Para o macOS, você precisa da versão mais antiga (8.0.13) para ver as "estatísticas da coluna", porque testo as versões 8.0.14 e 8.0.15 e ambas não mostram as "estatísticas da coluna".
Portanto, para ajustar as "estatísticas da coluna", use a versão 8.0.13 https://downloads.mysql.com/archives/get/file/mysql-workbench-community-8.0.13-macos-x86_64.dmg
fonte
Na minha situação, estou usando o mac-OS. A propósito, havia
[mysqldump] column-statistics=0
campos nomy.cnf
arquivo que são colocados no/usr/local/etc
diretório A exclusão desse campo corrigiu o problema. (não: a versão do mysql é 5.7 e instalada via homebrew).fonte
Também tive o mesmo problema: ocorre quando mesclo várias tabelas de dados para o esquema existente de outro esquema e exporto dados mesclados para um arquivo de script independente. Eu tentei alterar as estatísticas da coluna = 0, mas o resultado foi o seguinte,
Então eu não tinha ajudado. Analiso o log do MySQL e descobri que
está reclamando do tamanho do tamanho innodb_buffer_pool_spool. Eu fiz isso para 24MB. Então funciona.
fonte
Eu uso o XAMPP e o MySQL Workbench avisa sobre uma incompatibilidade de versão. Eu configurei o MySQL Workbench para apontar para o mysql.exe e o mysqldump.exe do XAMPP.
Vá para Editar -> Preferências -> Administração e defina o caminho para cada um.
Isso funciona pelo menos para a versão 8.0.14. Portanto, para outros, você pode evitar o uso da versão empacotada do mysql e mysqldump.
fonte