Развертывание MySQL Server + DB с приложением .Net

Всем привет,

У нас есть приложение .Net 2.0 с серверной частью MySQL. Мы хотим иметь возможность развернуть MySQl и БД при установке приложения, и я пытаюсь найти лучшее решение. Текущая настройка заключается в копировании необходимых файлов в папку на локальном компьютере, а затем выполнении команд «NET START» для установки и запуска службы mysql. Затем мы восстанавливаем резервную копию БД в этот только что созданный экземпляр mysql с помощью файлов bat. Это совсем не идеальное решение, и я пытаюсь придумать что-то более надежное.

Проблемы заключаются в правах пользователя в Vista и во всевозможных мелочах, связанных с установкой и запуском службы. Он слишком хрупкий, чтобы быть надежным, или, по крайней мере, так кажется, когда я его тестирую. Это настройка типа клиент / сервер, поэтому нам нужно установить только один сервер на офис, но я хочу, чтобы он был максимально простым и с минимальным количеством экранов.

Как бы ты это сделал?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
9
0
6 170
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Воспользуйтесь установщиком с проработанным скриптом. Скорее всего, подойдет любой установщик, такой как Wise, InstallShield, InnoSetup и т. д.

При настройке клиент / сервер вы можете потребовать, чтобы тот, кто устанавливает сервер, установил его как администратор. Это должно решить большинство ваших проблем.

Опять же - это сервер. С клиентами может быть другая история.

Ответ принят как подходящий

Не уверен, где вы находитесь в проекте, но если это простая и небольшая база данных, вы можете подумать о ее преобразовании в SQLite. Он не идеален для операций клиент / сервер, но может сработать при небольшом объеме / транзакциях.

Мы подошли к этому по-другому. Мы делаем MySQL совместимым с xcopy, написав оболочку для генерации файла конфигурации (my.ini) перед вызовом MySQL (для правильной настройки базового пути и т. д.). Затем мы написали еще один сервис, устанавливаемый по стандартной настройке. Эта служба позаботится о запуске MySQL и другой необходимой фоновой программы (в нашем случае Apache) за нас. Поскольку MySQL развертывается нами, мы хотели иметь полный контроль над ним.

Другие вопросы по теме