2011-08-10 2 views
0

Я создаю программу, которая должна взаимодействовать с базой данных MySQL на компьютере клиента, но я не знаю, как создать схему MySQL (и, при необходимости, экземпляр) на компьютер. Поскольку я не могу подключиться к самой базе данных, потому что она еще не существует, я предполагаю, что мне нужно отправить сообщение в консоль на компьютере клиента и надеяться, что у него есть MySQL на своем пути, поэтому я могу выполнить экземпляр create если не существует, а затем создать схему.Установка экземпляра MySQL (и схемы) с помощью C#

ответ

3

Нет, не делайте этого. Как правило, с удаленными установками, которые требуют базы данных MySQL процедура выглядит примерно так:

  1. Подскажите пользователю во время установки для хоста и порт сервера MySQL (если они не имеют MySQL установлен на всех, инструктировать их о том, как это сделать/где узнать больше).
  2. Попросите пользователя, если они хотят, чтобы настроить базу данных автоматически
    1. Если да, то попросите имя учетной записи администратора и пароль (тот, который может выполнить CREATE DATABASE заявления). Выполните соответствующие инструкции CREATE из C#. Кроме того, в качестве меры безопасности создайте пользователя с меньшими правами с разрешениями на использование этой базы данных.
    2. Если нет, сообщите пользователю, где находится файл .sql, попросите его установить его самостоятельно, а затем спросите пользователя о пользователе, пароле и имени базы данных.
  3. Использование имен хоста, порта, пользователя, пароля и базы данных, предоставляемых (или созданных), для подключения к базе данных (чья схема должна быть определена к настоящему времени) и убедитесь, что вы можете ее записать. Вставьте все значения установщика, и все готово.

Выполнение этого способа позволяет пользователю использовать любую необходимую им базу данных на любой машине, которую они хотят, используя любой уровень безопасности, который они хотят.

И вы не хотите делать это с помощью командной строки, вы захотите сделать это программно (путем подключения к серверу с использованием C# и выполнения операторов напрямую).

+0

Спасибо! Это именно то, что я искал. –

Смежные вопросы