AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MySQL Workbench

Ein Thema von Delbor · begonnen am 25. Jul 2012 · letzter Beitrag vom 3. Aug 2012
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#1

MySQL Workbench

  Alt 25. Jul 2012, 13:19
Datenbank: MySQL • Version: 5.5 • Zugriff über: MySQL Workbench
Hi zuammen

Vor einiger Zeit habe ich mir MySQL Workbench installiert und damit meine DB modelliert.
In letzter Zeit war ich auch etwas am damit herumspielen, mit meinen schlechten Englischkenntnissen die Hilfedateien von Workbench zu studieren (und teilweise mit Google zu übersetzen).
Tja, und nun hab ichs doch tatsächlich geschafft:

MySQL Workbench zeigt mir eine Fehlermeldung, wenn ich mein Modell per ForwardEngeering in eine DB umsetzen lassen will. Meistens wars dann so, dass meine Tabellen in der DB erstellt wurden, ausser der einen, die mir Workbench als fehlerhaft meldete und allenfalls zwei damit verbundenen Interselektionstabellen - die können ja nicht erstellt werden, wenn eine von zwei Tabellen einer n:mBeziehung nicht erstellt wird.

Neuerdings erstellt Workbench aber gar keine Tabellen mehr. Die Meldung:

Zitat:
Operation has completed with errors.Please see logs for Details
Und das Log:

Zitat:
Executing SQL script in server
ERROR: Error 1050: Table '`delborpunktchdata`.`bilddatentabelle`' already exists

CREATE TABLE IF NOT EXISTS `delborpunktchdata`.`bilddatentabelle` (
`idBilddaten` INT(11) NOT NULL ,
`Bildtyp` VARCHAR(6) CHARACTER SET 'latin1' COLLATE 'latin1_swedish_ci' NOT NULL ,
`Bild` LONGBLOB NOT NULL ,
PRIMARY KEY (`idBilddaten`, `Bildtyp`) )
ENGINE = InnoDB
DEFAULT CHARACTER SET = latin1

SQL script execution finished: statements: 6 succeeded, 1 failed
(Diese Tabelle existiert allerdings nicht (mehr), da ich die DB-Verzeichnisse geleert, bzw. gelöscht habe. In Workbench kann ich allerdings die komplette DB aus dem Katalog heraus neuzeichnen lassen...)

Im DB-Verzeichnis findet sich anschliessend gerade mal die Optionsdatei.
Ich bin inzwischen soweit, dass ich nur noch die Neuinstallation des MySQL Workbench sehe.
Das aber könnte nicht so einfach sein, wie es sich anhört, da nicht nur der Server, sondern auch Workbench etliche Dateien in verschiedenen Verzeichnissen speichert.

Kennt jemand diese Verzeichnissen?


Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

AW: MySQL Workbench

  Alt 25. Jul 2012, 13:29
(Diese Tabelle existiert allerdings nicht (mehr), da ich die DB-Verzeichnisse geleert, bzw. gelöscht habe. In Workbench kann ich allerdings die komplette DB aus dem Katalog heraus neuzeichnen lassen...)
Hab ich das richtig verstanden, du hast im DB-Verzeichnis Dateien gelöscht? So funktioniert das eigentlich nicht! Tabellen werden über DROP TABLE gelöscht, Datenbanken über DROP DATABASE. Falls man doch etwas manuell ändert, dann sollte man MySQL mal neu starten lassen. Allerdings entspricht in InnoDB nicht mehr jede Tabelle einer Datei, sodass ich von manuellen Änderungen generell abrate.

MySQL wird sich schon was dabei denken, wenn es meldet, dass die Tabelle bereits existiert. Was sagt denn SHOW TABLES dazu? Zeigt es die Tabelle auch an? Ich glaube eigentlich nicht, dass die Neuinstallation der MySQL Workbench hier einen Fehler behebt, zumindest sofern ich dein Prolem richtig verstanden habe. Eher hast du ein Problem mit deinem Server.

Liebe Grüße,
Valentin
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: MySQL Workbench

  Alt 25. Jul 2012, 14:14
Hi Valentin

Danke für die schnelle Antwort.

Zitat:
Falls man doch etwas manuell ändert, dann sollte man MySQL mal neu starten lassen. Allerdings entspricht in InnoDB nicht mehr jede Tabelle einer Datei, sodass ich von manuellen Änderungen generell abrate.
Das hab ich mal getan, bevor ich ein ForwardEngeering durchführte. Geändert hat sich nichts. Aber ich werd das mal wiederholen.

Zitat:
MySQL wird sich schon was dabei denken, wenn es meldet, dass die Tabelle bereits existiert. Was sagt denn SHOW TABLES dazu? Zeigt es die Tabelle auch an? Ich glaube eigentlich nicht, dass die Neuinstallation der MySQL Workbench hier einen Fehler behebt, zumindest sofern ich dein Prolem richtig verstanden habe. Eher hast du ein Problem mit deinem Server.
Da fällt mir doch glatt jene Signatur ein, die da heisst: Meistens sitzt das Problem zwischen den Ohren - denn natürlich hast du recht. Anstatt stundenlang nach irgendwelchen zuständigen Dateien und Verzeichnissen zu suchen, hätte ich von Anfang an SQL einsetzen sollen...

Ach ja: weisst du vielleicht gerade, was das bedeutet, wenn im Catalog tree von Workbench die Tabellenbezeichner am Schluss mit einem Punkt gekennzeichnet sind?

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#4

AW: MySQL Workbench

  Alt 25. Jul 2012, 23:44
Grundsätzlich zu InnoDB unter MySQL: Uns ist nach diversen Rettungsversuchen von Datenbanken ähnliches wiederfahren - heisst die DB an sich war laut MySQl Administrator nicht mehr da, aber beim CREATE TABLE hieß es sie sei es doch. MySQL speichert das Verzeichnis von InnoDBs an anderer Stelle als die Daten, und der Verzeichniseintrag reicht aus, um einen Tabellennamen zu blockieren. Wo die jeweiligen Dateien genau sitzen hängt von deinen Einstellungen ab.
Wenn man es also in der Hand hat, ist der Hinweis niemals manuell an den Dateien selbst zu doktorn das einzig richtige. Im Zweifel würde ich hier MySQL komplett deinstallieren, und ganz neu aufsetzen. Setzt natürlich voraus, dass man sonst nichts wichtiges in der DB verliert - aber wenn man sich schon traut einfach mal Dateien zu löschen, kann das ja eigentlich nicht sein
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: MySQL Workbench

  Alt 26. Jul 2012, 18:59
Hi Medium

Auch dir vielen Dank für deine Antwort. Ich denke schon, dass es erstmal daran lag, dass ich Workbench mit einem 'X-beliebigen Programm' verwechselte und MySQL schlussendlich doch tiefere Einarbeitung abverlangt.

Der eigentliche Client wird mein Programm sein, und das setzt eigentlich ausschliesslich auf Delphis VCL auf. Mit der DB hat es eigentlich gerade mal soviel zu tun, dass es sich von da benötigte Daten holen und nach deren Bearbeitung wieder dahin zurückschreiben soll. Die Komplexität der Daten und deren Umfang lassen aber die Verwendung einer DB als sehr ratsam erscheinen.

In der DB selbst kann ich ausser einigen sehr wenigen Testdaten (die ein Zeichensatzproblem zutage brachten), nichts verlieren.
Das mit der kompletten Neuinstallation hatte ich schonmal. MySQL war als Dienst installiert und startete irgendwann nicht mehr, und ich wusste nicht, warum. Eine Neuinstallation war erst erfolgreich, nachdem ich unter Win7 das Verzeichnis ProgrammData (nicht Programme) gelöscht hatte.
Aus Workbench heraus lässt sich MySQL ja beenden und wieder hochfahren. Wahrscheinlich habe ich da einen Eintrag in einer Systemtabelle ausgelöst, den aber nicht mehr gelöscht (bzw. den Server wieder hochgefahren). So hat Windows offensichtlich den Server gestartet(wie es die 'Dienstanweisung' vorsieht), und Workbench (bzw. der Eintrag in der Systemtabelle) hat ihn wieder heruntergefahren...

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.371 Beiträge
 
Delphi 12 Athens
 
#6

AW: MySQL Workbench

  Alt 26. Jul 2012, 21:14
Hast du es denn mal mit DROP TABLE versucht?



Und was passiert eigentlich, wenn man versucht eine Tabelle zu erstellen, wo schon eine gleichnamige Tabelle mit anderen Feldern/Spalten existiert?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz