sql >> Database >  >> RDS >> Mysql

MYSQL-installatie met een .NET winforms-app

Stap 1:je doet het verkeerd

U probeert de mysql server te installeren . Dit zou je eerste aanwijzing moeten zijn dat er iets mis is. De meeste server-apps zijn ontworpen om op servers te worden geïnstalleerd, niet op clients. Opvallend daarbij is dat server-apps graag aannemen dat ze de server 'bezitten'. Dit is een gigantische no-no voor client-apps.

Stap 2:Neem een ​​beslissing, nu we goed geïnformeerd zijn

Nu we hebben vastgesteld dat we het verkeerd doen, moeten we kiezen wat we gaan doen. We hebben 2 opties:

  1. Schakel over van MySQL naar een 'client'-database zoals SQLite of SQL Server Compact Edition.
  2. Hack om de problemen met het installeren van de server-app.

Persoonlijk zou ik aanraden om zo snel mogelijk over te schakelen naar SQLite (of iets dergelijks). Het is het "juiste" om te doen, en je hoeft de komende jaren geen hacks meer te onderhouden.

Stap 3:Je wilt MySQL sowieso hacken omdat het waarschijnlijk makkelijker lijkt.

Je bent gewaarschuwd. Hier zijn enkele dingen waar u rekening mee moet houden en die u moet beperken:

  1. MySQL wil installeren in programmabestanden\mysql. Als de gebruiker MySQL zelf al heeft geïnstalleerd. Je maakt alles kapot
    • U moet uw versie van MySQL laten weten dat deze in een aangepaste map moet worden geïnstalleerd. Ik zou het aanraden als een submap van je applicatie
  2. MySQL wil draaien als een service (en de service zal waarschijnlijk 'mysql' heten). Nogmaals, als de gebruiker al mysql heeft, verbreek je alles.
    • U moet uw service onder een andere naam uitvoeren
  3. De MySQL-server zal waarschijnlijk bestanden willen schrijven naar Program Files\etc.
    • U moet de configuratie wijzigen zodat deze naar %APPDATA% schrijft, enzovoort
  4. MySQL gaat ervan uit dat het altijd door dezelfde gebruiker wordt uitgevoerd. Als je 2 gebruikers op de machine hebt die je programma willen gebruiken, moet je dienovereenkomstig hacken, door MySQL als een lokale service-account uit te voeren (beveiligingsfouten ahoi), of door een aparte mysql voor elke gebruiker te installeren.

Dus met dit alles in gedachten, zou ik zeggen dat je het beste kunt doen met een xcopyable mysql opzetten



  1. Fix "ERROR 1222 (21000):de gebruikte SELECT-instructies hebben een ander aantal kolommen" bij gebruik van UNION in MariaDB

  2. Een nieuwe manier om uw PostgreSQL-bewaking te personaliseren met Prometheus

  3. Grootte van alle tabellen in de database ophalen

  4. Hoe de resultaten van twee query's in SQL te combineren?