У меня есть sql-файлы, «разделенные» следующим образом:
> 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
>
Вот все мои попытки:
>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
Как загрузить много файлов одновременно в MySQL?
Примечание: есть только одна проблема, с которой я сталкиваюсь: загрузить все файлы в папку «sql
» одновременно . Никаких других проблем (я удалил имя пользователя и пароль, чтобы быть более точным в реальной проблеме).
Есть идеи, как это сделать?
Вот мое решение:
find sql/ -type f | awk '{system("mysql -u root -pXXX -h localhost mydatabase < "$0)}'
Вы должны использовать "source code"/*
вместо.
Для получения пароля попробуйте указать его, например, mysql -u XX -p "XX"