Развертывание сервера MySQL + базы данных с помощью .Сетевое приложение
-
09-06-2019 - |
Вопрос
ПРИВЕТ Всем,
У нас есть приложение .Net 2.0, которое имеет серверную часть MySQL.Мы хотим иметь возможность развертывать MySQL и базу данных при установке приложения, и я пытаюсь найти лучшее решение.Текущая настройка заключается в копировании необходимых файлов в папку на локальном компьютере, а затем выполнении команды "NET START" для установки и запуска службы mysql.Затем мы восстанавливаем резервную копию базы данных в этот вновь созданный экземпляр mysql, используя bat-файлы.Это совсем не идеальное решение, и я пытаюсь придумать что-то более надежное.
Проблемы связаны с правами пользователя в Vista и всевозможными мелочами, связанными с установкой и запуском службы.Он слишком хрупок, чтобы быть надежным, или, по крайней мере, так кажется, когда я его тестирую.Это настройка типа клиент / сервер, поэтому нам нужно установить только один сервер для каждого офиса, но я хочу убедиться, что это как можно более беспроблемно и с как можно меньшим количеством экранов.
Как бы вы это сделали?
Решение
Не уверен, на какой стадии проекта вы находитесь, но если это простая и небольшая база данных, вы могли бы рассмотреть возможность преобразования ее в SQLite - файл.Это не идеально для клиент-серверных операций, но при небольшом объеме транзакций это может сработать.
Другие советы
Используйте установщик с разработанным скриптом.Вероятно, подойдет любой установщик, такой как Wise, InstallShield, InnoSetup и т.д.
Мы применили к этому другой подход.Мы делаем MySQL доступным для xcopy, записывая оболочку для генерации файла конфигурации (my.ini) перед вызовом MySQL (для правильной настройки базового пути и так далее).Затем мы написали другую службу, установленную с использованием стандартной настройки.Этот сервис позаботится о запуске MySQL и другой необходимой фоновой программы (в нашем случае Apache) для нас.Поскольку MySQL развертывается нами, мы хотели иметь полный контроль над ним.
При настройке Клиент / Сервер вы можете потребовать, чтобы тот, кто устанавливает сервер, установил его как администратор.Это должно решить большинство ваших проблем.
Опять же - это сервер.Клиенты - это, возможно, совсем другая история.