Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: mysql и bash скрипт  (Прочитано 1364 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Fox_ch2

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
mysql и bash скрипт
« : 28 Сентябрь 2014, 13:52:10 »
Народ, нид хэлп
никак не могу сообразить как в скрипте запускаемом из крона организовать выполнение sql запросов после подключения к базе

mysql --user=user --password=pass <DB>
select * ...
update ...

суть в том, что когда скрипт подключается к базе первой строкой, он ожидает ввода команд, а команды как-раз и написаны ниже.

как указать скрипту, что код ниже предназначен для передачи во вложенную программу.


Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15194
    • Просмотр профиля
    • aetera.net
Re: mysql и bash скрипт
« Ответ #1 : 28 Сентябрь 2014, 14:12:45 »
mysql --user=user --password=pass <DB> <<< "select * ... ; update ... ;"
mysql --user=user --password=pass <DB> < /path/to/file.sql
« Последнее редактирование: 29 Сентябрь 2014, 00:11:58 от ArcFi »

Оффлайн Fox_ch2

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: mysql и bash скрипт
« Ответ #2 : 28 Сентябрь 2014, 23:13:11 »
не вышло

mysql --user=user --password=password DB < " update `user`; set `usergroupid` = 9 WHERE `userid` in (SELECT `userid` FROM `userfield` where `field5` = "Войковская"); exit; "
root@forum:~# script
/sbin/script: строка 3: user: команда не найдена
/sbin/script: строка 3: usergroupid: команда не найдена
/sbin/script: строка 3: userid: команда не найдена
/sbin/script: строка 3: userid: команда не найдена
/sbin/script: строка 3: userfield: команда не найдена
/sbin/script: строка 3: field5: команда не найдена
/sbin/script: строка 3: user: команда не найдена
/sbin/script: строка 3: usergroupid: команда не найдена
/sbin/script: строка 3: userid: команда не найдена
/sbin/script: строка 3: userid: команда не найдена
/sbin/script: строка 3: userfield: команда не найдена
/sbin/script: строка 3: field5: команда не найдена
/sbin/script: строка 3:  update ; set  = 9 WHERE  in (SELECT  FROM  where  = Войковская); exit; : Нет такого файла или каталога
root@forum:~#



Пользователь решил продолжить мысль 28 Сентябрь 2014, 23:22:40:
а так все нормуль
весь скрипт вложенный в файл script_clear передался в оболочку mysql

#!/bin/bash

mysql --user=user --password=password DB < /sbin/script_clear

весь прикол в том, что я уже делал подобный скрипт, и он был в одном файле
тогда потратил на поиски решения около часа всего, а сейчас вот не могу найти :(
« Последнее редактирование: 28 Сентябрь 2014, 23:22:40 от Fox_ch2 »

Оффлайн ArcFi

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 15194
    • Просмотр профиля
    • aetera.net
Re: mysql и bash скрипт
« Ответ #3 : 29 Сентябрь 2014, 00:15:40 »
не вышло
1) там 3 стрелки
2) замените апострофы на одинарные кавычки

Оффлайн Fox_ch2

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: mysql и bash скрипт
« Ответ #4 : 03 Октябрь 2014, 17:28:31 »
Точно!!!!
блин :)

 

Страница сгенерирована за 0.062 секунд. Запросов: 25.