Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Instalação do MYSQL com um aplicativo .NET winforms

Etapa 1:você está fazendo errado


Você está tentando instalar o servidor mysql . Esta deve ser sua primeira pista de que algo está errado. A maioria dos aplicativos de servidor é projetada para ser instalada em servidores, não em clientes. O ponto notável nisso é que os aplicativos de servidor gostam de assumir que são 'donos' do servidor. Este é um grande não-não para aplicativos clientes.

Etapa 2:tome uma decisão, agora que estamos devidamente informados


Agora que estabelecemos que estamos fazendo errado, precisamos escolher o que fazer. Temos 2 opções:
  1. Mude do MySQL para um banco de dados 'cliente', como SQLite ou SQL Server Compact Edition.
  2. Contorne os problemas de instalação do aplicativo do servidor.

Eu pessoalmente recomendaria mudar para SQLite (ou similar) o mais rápido possível. É a "coisa certa" a fazer, e você não terá que manter hacks nos próximos anos.

Etapa 3:você vai querer hackear o MySQL de qualquer maneira porque provavelmente parece mais fácil.


Você foi avisado. Aqui estão algumas das coisas que você precisa estar ciente e mitigar:
  1. O MySQL deseja instalar em arquivos de programa\mysql. Se o usuário já tiver o MySQL instalado. Você vai quebrar tudo
    • Você precisará informar sua versão do MySQL para instalar em uma pasta personalizada. Eu o recomendaria como uma subpasta do seu aplicativo
  2. O MySQL quer ser executado como um serviço (e o serviço provavelmente será chamado de 'mysql'). Novamente, se o usuário já tiver mysql, você quebrará tudo.
    • Você precisará executar seu serviço com um nome diferente
  3. O servidor MySQL provavelmente desejará gravar arquivos em Arquivos de Programas\etc.
    • Você precisará alterar sua configuração para gravar em %APPDATA% e assim por diante
  4. O MySQL assumirá que está sempre sendo executado pelo mesmo usuário. Se você tiver 2 usuários na máquina que desejam usar seu programa, você precisará hackear de acordo, executando o MySQL como uma conta de serviço local (falhas de segurança ahoy), ou instalando um mysql separado para cada usuário.

    l>

Então, com tudo isso em mente, eu diria que sua melhor aposta é configurar um mysql xcopyable