Datadump falha com o código de saída 1

1

Estou no mySQL Workbench tentando importar um datadump em um arquivo .sql (gerado pelo phpMyAdmin) para mySQL (administração do servidor > data dump > import do disco), e ele continua falhando com a seguinte saída:

10:47:14 Restoring C:\myfolder\localhost.sql ( )

Running: mysql.exe --host=127.0.0.1 --user=root --password=xxxxxxx --port=3306 --comments< C:\myfolder\localhost.sql

Operation failed with exitcode 1

10:47:15 Import of C:\myfolder\localhost.sql has finished

Quando vou ver o esquema, parece que ele importou 6 tabelas (de 50ish) e quase nenhum dado.

Errata:

  1. Não parece haver nenhuma restrição ou relação. Todos os dados estão sendo adicionados através de vários DROP TABLE IF EXISTS; CRIAR A TABELA; INSERT INTO série com valores codificados.
  2. O arquivo tem um número substancial de grandes blocos. E o arquivo em si é mais de 400 MB.
  3. Quando eu verifiquei manualmente se o efeito de qualquer cláusula do arquivo está funcionando, descobri que ele está sendo desativado no INSERT INTO sql com os blocos muito grandes codificados. Não tenho certeza se isso é significativo ou não?
  4. Eu também notei que alguns dos pedaços têm um comprimento maior que 32768, existe uma parte superior no tamanho do pedaço?
por Aaron Bush 14.01.2010 / 16:54

2 respostas

2

Eu não fiz todo o caminho para a causa raiz sobre isso, mas eu encontrei a fonte do problema. Eu tinha uma tabela muito grande de anexos sendo escrita com INSERT VALUES. Eu removi esta tabela e tentei apenas executar como um script SQL. Mas eu tenho um novo erro (que me escapa agora). Googling o novo erro me disse que o script era muito longo para ser executado sem aumentar a variável max_allowed_packet. Virar isso para um número realmente grande permitiu que o script fosse executado.

    
por 18.01.2010 / 14:48
1

Você tem alguma restrição de chave estrangeira em seu banco de dados? Se você precisar, certifique-se de importar as tabelas em uma ordem que permita que as chaves estrangeiras sejam aplicadas. Se você tentar criar uma tabela que tenha uma chave estrangeira que faça referência a uma tabela que ainda não tenha sido criada, você receberá esse tipo de erro. Se este for o problema, você terá que manipular seu arquivo de despejo para obtê-lo na ordem "correta" ou você terá que refazer o despejo, uma tabela de cada vez em uma ordem que será aceitável. Eu tenho um script que faz isso para o meu banco de dados, mas eu nunca tentei fazê-lo através do phpMyAdmin.

    
por 14.01.2010 / 17:14

Tags