The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Пример работы с MySQL в bash скриптах"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Пример работы с MySQL в bash скриптах"  +/
Сообщение от auto_tips (??) on 25-Окт-06, 22:42 
Пример скрипта:

password='Your_MySQL_Password'

MYSQL_RESULT=`mysql -e "SELECT tables_col FROM table_name" --
password="$password" database_name|grep -v tables_col|xargs|sed "s/ /\n/g"`

for i in $MYSQL_RESULT; do
   echo $i
done;

Комментарий: Пароль лучше передавать через переменную окружения MYSQL_PWD, чтобы он не светился в выводе ps.


URL:
Обсуждается: http://www.opennet.ru/tips/info/1313.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от sargio (??) on 25-Окт-06, 22:42 
Однако, вот что пишет сам MYSQL по поводу ипользования MYSQL_PWD - extremely insecure.

Store your password in the MYSQL_PWD  environment variable. This method of specifying your MySQL password must be considered extremely insecure and should not be used. Some versions of ps include an option to display the environment of running processes. If you set MYSQL_PWD, your password is exposed to any other user who runs ps.

http://dev.mysql.com/doc/refman/5.0/en/password-security.html

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от cobold on 26-Окт-06, 09:33 
ps умеет выводить и переменные окружения тоже.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от Антон (??) on 26-Окт-06, 10:06 
>ps умеет выводить и переменные окружения тоже.

ps выводит переменные окружения только для процессов того же пользователя. Если вы можете запустить ps под тем же uid что и скрипт или под root, то можно обойтись и без просмотра переменных окружения.


Через /proc тоже чужие не смогут посмотреть, права на /proc/<pid>/environ - "-r--------"

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от Andrey Y. Ostanovsky email on 27-Окт-06, 10:25 
Все эти пляски с grep|xargs|sed можно с успехом заменить штатными средствами mysql:

mysql -Bse "show databases like '%test%'" - выводит только данные и построчно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от Mark email(??) on 03-Мрт-11, 15:58 
Однако спасибо большое =)
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от Vovans on 02-Ноя-06, 18:06 
Спасибо! ;)

Очень помогло и упростило сбор некоторых данных ;)

Примного благодярен!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от _Nick_ email(ok) on 08-Ноя-06, 13:53 
ближе всего к истине по борьбе с ps'ом был Антон

Да, можно руьить пермиссии на ервирон своих процессов, что, однако, накладно (не каждый человек будет это делать для каждого своего процесса).

Следовательно, "проблему" ps'а нужно _решать_, а не костылировать. Нужно использовать патчи/правила безопасности ядра, который просто напросто не показывают процессы других пользователей.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от Logka email(??) on 15-Ноя-06, 10:37 
И это есть самый правильный вариант - не показывать чужие процессы.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от Jet (??) on 09-Ноя-07, 19:05 
Спасибо за комментарий про .my.cnf
PS: В который раз убедился - маны внимательно надо читать.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Пример работы с MySQL в bash скриптах"  +/
Сообщение от Anton (??) on 19-Ноя-08, 14:13 
При выводе из переменной используйте printf вместо echo.

   MYSQL_RESULT=`mysql -h127.0.0.1 -u USER -pMY_PASS  MY_BASE -e "SELECT tables_col FROM table_name"`

   printf "$MYSQL_RESULT"

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру