Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

SQLConnection. Как узнать пароль.   Найти похожие ветки 

 
sas-koval   (2010-09-20 00:35) [0]

Добрый день.
Использую dbExpress для подключения к mysql серверу.
Для SQLConnection1 указываю
LoginPrompt = True , по русски говоря — запрашивать авторизацию перед подключением.
При подключении выскакивает окошко, где юзер вводит логин/пароль и жмёт ОК.

Вопрос в том, как мне получить логин/пароль, который ввёл пользователь?
Мне это нужно для бекапа. Чтоб непосредственно из программы запускать утилитку mySQLdump, где в качестве ключа нужно указывать логин/пароль.

Или может кто подскажет более умный метод ежедневно автоматически создавать backup файлы базы данных?
Варианты типа SELECT ... INTO OUTFILE "file_name" не подходят потому, что бекап создаётся на сервере, а не на компьютере клиента.

Параметр SQLConnection1.Params.Values["Password"] при этом, похоже, не учавствует. т.е. не берётся значение из этого параметра и туда не передаётся.

И ещё...
Этап подключения происходит во время инициализации (создания) TForm1
т.е. создать свой Form2 для введения логина/пароля и вызвать его перед подключением — не выходит. или просто "я не шарю..."

Подскажите.... добрый люди.


 
Anatoly Podgoretsky ©   (2010-09-20 07:38) [1]

> sas-koval  (20.09.2010 00:35:00)  [0]

Какой хитрый способ украсть пароли, албанский хакер аднака.


 
sniknik ©   (2010-09-20 08:08) [2]

> Или может кто подскажет более умный метод ежедневно автоматически создавать backup файлы базы данных
настроить "job" на сервере, в самом MySQL, если там это есть (по аналогии с MSSQL), что-то подобное должно быть.
если нет, то написать программку для бекапов, с отдельными настройками, и запускать ее опять таки на сервере по расписанию, без привлечения клиентских прог.


 
sniknik ©   (2010-09-20 08:12) [3]

> по аналогии с MSSQL
ну, возможно, т.к. MySQL "пришел" из линукса возможно там другая идеология, типа скриптов выполняемых "демонами", но в общем смысл думаю понятен.
главное - никакого участия клиентов в бекапе.


 
sniknik ©   (2010-09-20 08:12) [4]

Удалено модератором
Примечание: дубль


 
Anatoly Podgoretsky ©   (2010-09-20 08:53) [5]

> sniknik  (20.09.2010 08:08:02)  [2]

Вот именно "если там оно есть"


 
Anatoly Podgoretsky ©   (2010-09-20 09:05) [6]

И мне кажется там его нет, там вроде бы идеология дампов и вроде бы делается отдельной программой. Но это нам автор расскажет.


 
sas-koval   (2010-09-20 22:09) [7]

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

про прогу.. в том то и дело, что не вздумал бы делать бекапы, пока не случился дикий случай...
mySQL сервер стоит на винде. база данных совсем небольшая (в пределах 10 мегабайт за 2 года работы). и при этом СЕРВАК под неё никто не выделяет. ставится обычно на маленьком ПК. И вот нашлись умельцы, которые начавшую глючить винду - просто снесли и поставили заново. Они конечно понимали, что там база крутится. К тому же не дураки были! и потому на всякий случай скопировали *.frm .... толку то...
Потому и возникла идея создавать бекап именно на клиентской части. хоть на каком-то клиентском компе бекап убережётся от вандализма.

Про бекапы в mysql.
они там делаются 3-мя принципиально различающимися методами:
1. отдельная прога mysqldump, которая созаёт файл, который содержит все необходимые команды, которые создадут и заполнять БД с нуля. т.е. типа "создать таблицу, вставить стоку 111" и так далее... недостаток метода - требуется пароль.
2. select * into outfile from table. при этом мы просто в текстовом файле получим ту выборку, которую попросили. её в дальнейшем возможно импортировать в таблицу. недостаток - файл формируется на сервере, а не на клиенте.
3. mysqlhotcopy database /path/to/some/dir
она просто копирует файлы БД (*.frm, *.MYD и *.MYI) в момент, когда не происходит обновлений данных, из которых как-то возможно восстановить базу.
недостаток - нужно запускать на сервере.

В общем подумав ещё немного я придумал такой вариант: в настройках самой программы иметь такую настройку, как пароль, который будет однажды вводиться пользователем и храниться в этой-же БД. в нужный момент я буду запускать mysqldump с этим паролем. чтоб пароль нельзя было просто достать из дампа, я буду ещё архивировать его с наложением пароля на архив. пока ничего умней придумать не успел :) или нужно почитать как по умному хранить пароль в БД от самой себя.

конечно... если бы это был линукс и база бы на нём крутилась посерьёзней, то дампы делались бы кроном и обычными скриптами. И врядли кто-то осмелился бы на них систему переставлять не разобравшись. а так - приходится выкручиваться.


 
sas-koval   (2010-09-20 22:52) [8]

нашёлся способ заполучить пароль...

я перенёс процедуру подключения из formcreate в formshow и отсюда я уже смог вызвать другую форму для введения пароля.
имея пароль на руках - буду делать дамп с помощью mysqldump.
Спасибо всем за участие!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.076 c
15-1338529424
alexdn
2012-06-01 09:43
2013.03.22
Куда выложить


15-1328606117
Димка На
2012-02-07 13:15
2013.03.22
Строки-константы в delphi XE


15-1337416388
alexdn
2012-05-19 12:33
2013.03.22
Музыка


15-1334989775
TSubject
2012-04-21 10:29
2013.03.22
Кто работал с Java?


2-1339945459
ankazh
2012-06-17 19:04
2013.03.22
VISIBLE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский