sql >> Databasteknik >  >> RDS >> Mysql

MYSQL-installation med en .NET winforms-app

Steg 1:Du gör fel

Du försöker installera mysql servern . Detta borde vara din första ledtråd om att något är fel. De flesta serverappar är designade för att installeras på servrar, inte på klienter. Den anmärkningsvärda poängen i detta är att serverappar gillar att anta att de "äger" servern. Det här är ett gigantiskt nej för klientappar.

Steg 2:Ta ett beslut nu när vi är ordentligt informerade

Nu när vi har konstaterat att vi gör fel måste vi välja vad vi ska göra. Vi har två alternativ:

  1. Byt från MySQL till en "klient"-databas som SQLite eller SQL Server Compact Edition.
  2. Hacka runt problemen med att installera serverappen.

Jag personligen skulle rekommendera att byta till SQLite (eller liknande) så snart som möjligt. Det är "rätt sak" att göra, och du behöver inte underhålla hacks i flera år framöver.

Steg 3:Du vill hacka MySQL ändå eftersom det förmodligen verkar lättare.

Du har blivit varnad. Här är några av de saker du måste vara medveten om och mildra:

  1. MySQL vill installera i programfiler\mysql. Om användaren redan har MySQL installerat själv. Du kommer att slå sönder allt
    • Du måste tala om för din version av MySQL att installera i en anpassad mapp. Jag skulle rekommendera den som en undermapp till din ansökan
  2. MySQL vill köras som en tjänst (och tjänsten kommer troligen att kallas 'mysql'). Återigen om användaren redan har mysql, kommer du att bryta allt.
    • Du måste köra din tjänst under ett annat namn
  3. MySQL-servern kommer sannolikt att vilja skriva filer till Program Files\etc.
    • Du måste ändra dess konfiguration så att den skriver till %APPDATA% och så vidare
  4. MySQL kommer att anta att det alltid körs av samma användare. Om du har 2 användare på maskinen som vill använda ditt program, måste du hacka därefter, genom att antingen köra MySQL som ett lokalt tjänstekonto (säkerhetsbrister ahoy), eller genom att installera en separat mysql för varje användare.

Så med allt detta i åtanke, skulle jag säga att det bästa är att konfigurera en xcopyable mysql



  1. Hur formaterar man bigint-fält till ett datum i Postgresql?

  2. Mysql:Resultatordningen med välj <fältnamn> från skiljer sig från ordningen för resultat med välj * från

  3. java.util.MissingFormatArgumentException:Formatspecifikation:s

  4. Data är null. Den här metoden eller egenskapen kan inte anropas på null-värden.(med kombinationsrutan)