LINUX.ORG.RU

Mariadb как импортировать множество файлов sql , скрипт или команда

 , ,


0

1

Приветствую. Побывал ls |grep -v / |mysql -uuser -ppass Но имя файла почему то передается или не корректно или неправильно. Соединяет 2 имя файла и получается естественно неправильное имя файла. Кто подскажет как залить?

-а еще лучше если еще и как залить из архива по маске: есть архив backup1.tar.gz в нем много баз, нужно залить те в которых имеется сочетание *mainta* Заранее спасибо!

Centos 7



Последнее исправление: dimpase (всего исправлений: 1)

for i in ./*mainta*.sql; do mysql -u USER -pPASSWORD DATABASE < $i; done
anonymous
()

Загонит в MySQL все файлы с именем подходящим под маску *.sql из текущей директории

cat ./*.sql | mysql dbname

Перед dbname, по вкусу, можно добавить указание логина и даже праоля нужного mysql-юзера

MrClon ★★★★★
()
Ответ на: комментарий от MrClon

Спасибо большое

А не подскажите, как из архива такую же конструкцию передать? просто tar -xOzf backup.tar.gzф | mysql -u user -p зальет все базы, а мне нужны только по маске. Спасибо!

dimpase
() автор топика
Ответ на: Спасибо большое от dimpase

Это уже думать надо, а мне лень. Если файловне какие-то бешеные миллиарды то проще предварительно распаковать архив.

Гугли что-то вроде [tar extract by pattern]. С ходу нагуглилось --wildcards tar -xOzf backup.tar.gz --wildcards '*.sql' | mysql это то что тебе нужно

MrClon ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.