Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2012, 08:15   #1
Willer55
Пользователь
 
Регистрация: 17.08.2011
Сообщений: 35
По умолчанию Как остановить сервер MySQL

Доброго времени суток.
У меня такая ситуация. Программа работает с базой MySQL. Пока база была запущена с помощью Denwera. Я перекинул все файлы относящиеся к базе в папку с программой. И вроде запустил, а остановить не могу. Подскажите как остановить сервер из программы или покажите в какую сторону копать.
Willer55 вне форума Ответить с цитированием
Старый 05.12.2012, 08:36   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Я перекинул все файлы относящиеся к базе в папку с программой.
Зачем?!!!

Цитата:
И вроде запустил, а остановить не могу. Подскажите как остановить сервер из программы или покажите в какую сторону копать.
Копать в сторону изучения теории - что такое сервер БД, зачем он нужен, как к нему обращаться. Возможно, после этого станет очевидным, что сервер БД не надо останавливать из обычной клиентской программы, работающей с БД....
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.12.2012, 09:47   #3
Willer55
Пользователь
 
Регистрация: 17.08.2011
Сообщений: 35
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Зачем?!!!
Что бы все было в одной папке. Так как кроме этой программы к этой базе ни кто не будет обращаться.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Копать в сторону изучения теории - что такое сервер БД, зачем он нужен, как к нему обращаться. Возможно, после этого станет очевидным, что сервер БД не надо останавливать из обычной клиентской программы, работающей с БД....
Что такое сервер БД и зачем он нужен, я знаю. Вы предлагаете, что бы весел запущенный процесс в системе ни кому не нужный постоянно?
Willer55 вне форума Ответить с цитированием
Старый 05.12.2012, 14:49   #4
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Цитата:
Что такое сервер БД и зачем он нужен, я знаю
Не похоже.

Запустить программу на MySQL без запущенного сервера можно одним способом:
1. Положить в папку с программой файл libmysqld.dll. Именно он и будет выполнять роль сервера.
2. Использовать компонент MyEmbConnection из набора MyDac. Это MySQL Embedded для локальной работы.
3. Но все это не айс. Если нужна локальная БД, то, имхо, не стоит связываться с таким монстром как MySQL. Есть базы попроще.

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

По теме: если запущен именно Денвер, то проще всего программно выполнить файл
c:\Webservers\denwer\stop.exe (может ошибаюсь в пути, пишу по памяти)
_SERGEYX_ вне форума Ответить с цитированием
Старый 05.12.2012, 16:00   #5
Willer55
Пользователь
 
Регистрация: 17.08.2011
Сообщений: 35
По умолчанию

Цитата:
Сообщение от _SERGEYX_ Посмотреть сообщение
Не похоже.

Запустить программу на MySQL без запущенного сервера можно одним способом:
1. Положить в папку с программой файл libmysqld.dll. Именно он и будет выполнять роль сервера.
2. Использовать компонент MyEmbConnection из набора MyDac. Это MySQL Embedded для локальной работы.
3. Но все это не айс. Если нужна локальная БД, то, имхо, не стоит связываться с таким монстром как MySQL. Есть базы попроще.

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

По теме: если запущен именно Денвер, то проще всего программно выполнить файл
c:\Webservers\denwer\stop.exe (может ошибаюсь в пути, пишу по памяти)
1. Я попробую отключить сервер с помощью этой библиотеки.
2. Посмотрю, что за компонент, но в MyDAC его нет, по крайней мере в версии 5.70.0.44.
3. Это не моя прихоть. Я хотел использовать SQLite.

Минус который вы упомянули это плюс.

По теме: Идея вся в том, что бы не таскать с программой Денвер, а только саму базу.

Последний раз редактировалось Willer55; 05.12.2012 в 16:22.
Willer55 вне форума Ответить с цитированием
Старый 05.12.2012, 16:20   #6
Willer55
Пользователь
 
Регистрация: 17.08.2011
Сообщений: 35
По умолчанию

Пересмотрел кучу мануалов для mysql. Везде говорят что можно отключить командой shutdown для mysqladmin.exe, который поставляется вместе с MySQL Server(там его не оказалось), но все ссылки в нете которые нашел на этот файл битые. Может кто знает другой способ.

P.S. Вопрос был "как отключить сервер?", а не "нужно ли мне его отключать?".
Willer55 вне форума Ответить с цитированием
Старый 05.12.2012, 19:48   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
P.S. Вопрос был "как отключить сервер?", а не "нужно ли мне его отключать?".
я вот не могу понять, Вы же хотите, чтобы программа работала без установленного MySQL. Так зачем Вам программно его останавливать? Вам его запускать программно нужно..

ладно. умолкаю. Вам виднее... я не компетентен в той проблеме, которую Вы решаете..

посмотрите по ссылкам:
Встроенная база данных MySQL (MySQL Embedded Server).

Можно ли запустить MY SQL без инсталляции (portable)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.12.2012, 20:40   #8
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Сергей прав - без сервера Вы не обойдетесь. В этом и состоит главная идея клиент-серверных технологий - подключаться к базе не напрямую, а через сервер.
И все компоненты дельфи будут подключаться не к базе, а к серверу.
А указанная dll, куда ее ни бросай, всего лишь позволяет не устанавливать на каждый комп драйвер ODBC для работы с MySQL.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 06.12.2012, 00:42   #9
Willer55
Пользователь
 
Регистрация: 17.08.2011
Сообщений: 35
По умолчанию

Так я понимаю, что мне не обойтись без сервера. По этому я хочу его таскать с программой. Сильный вред будет если я программно пошлю сигнал на закрытие через WinAPI на запущиный сервер. Я в WinAPI не селен, но по моему так можно сделать.
Willer55 вне форума Ответить с цитированием
Старый 06.12.2012, 07:06   #10
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Сделать можно. И через Винапи
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать MySQL сервер Алекссс Компьютерное железо 1 30.04.2012 13:39
MySQL как сделать сервер Алекссс БД в Delphi 1 28.04.2012 19:10
Клиент + Сервер + MySQL s_vitaly Работа с сетью в Delphi 6 29.02.2012 12:43
Сервер MySQL и Delphi Cabyrc БД в Delphi 0 06.04.2009 05:59
клиент-сервер MySQL jziiiiiii БД в Delphi 10 15.02.2008 12:29