MySQL e lote de carga sql

0

Eu tenho arquivos sql "separados" assim:

> tree sql
sql
├── adresse_trigger_update_before.sql
├── attribut_trigger_update_before.sql
├── categorie_trigger_update_before.sql
├── duplicate_records.sql
├── horaire_trigger_update_before.sql
├── partenaire_trigger_update_before.sql
├── personne_trigger_update_before.sql
└── produit_trigger_update_before.sql

0 directories, 8 files
>

Aqui estão todas as minhas tentativas:

>mysql mydatabase -e "source sql/file1.sql"
>
>mysql mydatabase -e "source sql/*"
>ERROR at line 1: Failed to open file 'sql/*', error: 2
>cat sql/* > mysql mydatabase
>cat : option invalid -- 'p'
>mysql mydatabase -e "source sql/*"
>bash: sql/* : ambiguous redirect

Como carregar muitos arquivos de uma só vez no MySQL?

Nota: só existe um problema que estou enfrentando: carregar todos os arquivos na pasta " sql " de uma só vez . Nenhum outro problema (removi usuário e senha para ser mais preciso sobre o problema real).

Alguma ideia de como fazer isso?

    
por Olivier Pons 01.05.2012 / 11:17

2 respostas

1

Aqui está minha solução:

find sql/ -type f | awk '{system("mysql -u root -pXXX -h localhost mydatabase < "$0)}'
    
por Olivier Pons 01.05.2012 / 11:38
0

Você deve usar "source code"/* .

Para o problema de senha, tente citá-lo, por exemplo, mysql -u XX -p "XX"

    
por daisy 01.05.2012 / 11:22