Mysql
 sql >> Base de données >  >> RDS >> Mysql

Installation de MYSQL avec une application winforms .NET

Étape 1 :vous vous trompez

Vous essayez d'installer le mysql serveur . Cela devrait être votre premier indice que quelque chose ne va pas. La plupart des applications serveur sont conçues pour être installées sur des serveurs, et non sur des clients. Le point notable à cet égard est que les applications serveur aiment supposer qu'elles "possèdent" le serveur. C'est un grand non-non pour les applications clientes.

Étape 2 :Prendre une décision, maintenant que nous sommes correctement informés

Maintenant que nous avons établi que nous le faisons mal, nous devons choisir quoi faire. Nous avons 2 options :

  1. Passez de MySQL à une base de données "cliente" telle que SQLite ou SQL Server Compact Edition.
  2. Traitez les problèmes d'installation de l'application serveur.

Personnellement, je recommanderais de passer à SQLite (ou similaire) dès que possible. C'est la "bonne chose" à faire, et vous n'aurez pas à maintenir des hacks pendant des années.

Étape 3 :Vous voudrez de toute façon pirater MySQL, car cela semble probablement plus facile.

Tu étais prévenu. Voici quelques-unes des choses dont vous devrez être conscient et que vous devrez atténuer :

  1. MySQL veut installer dans program files\mysql. Si l'utilisateur a déjà installé MySQL lui-même. Tu vas tout casser
    • Vous devrez indiquer votre version de MySQL à installer dans un dossier personnalisé. Je le recommanderais comme sous-dossier de votre application
  2. MySQL veut s'exécuter en tant que service (et le service s'appellera probablement "mysql"). Encore une fois, si l'utilisateur a déjà mysql, vous allez tout casser.
    • Vous devrez exécuter votre service sous un autre nom
  3. Le serveur MySQL voudra probablement écrire des fichiers dans Program Files\etc.
    • Vous devrez modifier sa configuration pour qu'il écrive dans %APPDATA% et ainsi de suite
  4. MySQL supposera qu'il est toujours exécuté par le même utilisateur. Si vous avez 2 utilisateurs sur la machine qui veulent utiliser votre programme, vous devrez pirater en conséquence, soit en exécutant MySQL en tant que compte de service local (failles de sécurité), soit en installant un mysql séparé pour chaque utilisateur.

Donc, avec tout cela à l'esprit, je dirais que votre meilleur pari est de configurer un mysql xcopyable