mysql клиент, разрывает соединение после выполнения. как его сохранять секунд на несколько?
raskapulk 27 сентября, 2011 - 12:27
Добрый день !
имеется следующая конструкция:
#/bin/bash ls=`ls -1 ./dir/*.sql` for (i in $ls ); do cat ./dir/tmp_$i|mysql -u dbuser --password=dbuPAssword done;
которая выполняется в цикле, и на каждой итерации mysql клиент инциирует новое подключение.
как сказать клиенту чтобы он хотя бы ждал 5 сек, до разрыва соединеия, а до этих 5 сек использовал существующее подключение.
»
- Для комментирования войдите или зарегистрируйтесь
В данном случае (такой
В данном случае (такой формулировке) думаю, что никак.
Но есть workaround:
1. Цитированным циклом во временный файл собрать выполняемые запросы.
2. Запустить оный файл на исполнение (одно подключение0.
3. Опционально удалить.
:wq
--
Live free or die
дак и так уже реализовано....
дак и так уже реализовано.... тобишь каждый *.sql содержит в себе "множественный" insert, который просто скармливается mysql. а периодическое скармливание приводит к периодическому connect....
прообовал так в одном терминале
mkfifo fifo_file;
while ["1"]; do
tail -f fifo_file|mysql;
done;
а вдругом периодический cat *.sql > fifo_file
работает до некоторого момента, после некоторых итераций в первом терминале, mysql какбы отваливается, хотя скарее всего tail отваливается от fifo. и приходится убивать оба процесса, затем сновазапускать сперва tail потом слать в fifo sql'ки.
_______________________________________
грех обманывать компиляторы в субботу
попробуй mysql вынести из
попробуй mysql вынести из скрипта:
./script | mysql -uu -pp
а еще бывают конструкции типа
for x in *
do
cat $x
done | mysql -uu -pp
Скрипт на Perl и DBI.
Скрипт на Perl и DBI.
Не грусти, товарищ! Всё хорошо, beautiful good!
продолжу цепочку: Программа
продолжу цепочку:
Программа на С
Программа на Python
Программа на <подставьте язык программирования, который вы знаете>
Делать какие-то workarround'ы используюя то что дает mysql как-то не очень мне кажется... Хотя хз...