Datenupdate
am 25.07.2006 13:40:15 von bartez2004-apoll
Hallo,
ich habe nun die Aufgabe in unserem Vereine, die Mitglieder zu
verwalten. In unserer Datenbank gibt es eine Tabelle Adressen
(Mitgliedsnummer, Wohnort, Strasse, etc.). Leider habe ich den Inhalt
der Spalte Wohnort gelöscht. Glücklicherweise habe ich in einer
älteren Textdatei (CSV) noch teilweise die Daten (Mitgliedsnummer,
Wohnort, ...). Wie kann ich den Inhalt der Spalte "Wohnort" aus der
Textdatei in die Spalte "Wohnort" in der Tabelle "Adresse" ohne alles
einzeln einzutippen?
Für eure Hilfe wäre ich dankbar, denn ich kenne mich damit kaum aus.
Re: Datenupdate
am 25.07.2006 13:58:25 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Datenupdate
am 25.07.2006 13:59:39 von Dirk Brosowski
bartez2004-apoll@yahoo.de schrieb:
> Hallo,
>
> ich habe nun die Aufgabe in unserem Vereine, die Mitglieder zu
> verwalten. In unserer Datenbank gibt es eine Tabelle Adressen
> (Mitgliedsnummer, Wohnort, Strasse, etc.). Leider habe ich den Inhalt
> der Spalte Wohnort gelöscht. Glücklicherweise habe ich in einer
> älteren Textdatei (CSV) noch teilweise die Daten (Mitgliedsnummer,
> Wohnort, ...). Wie kann ich den Inhalt der Spalte "Wohnort" aus der
> Textdatei in die Spalte "Wohnort" in der Tabelle "Adresse" ohne alles
> einzeln einzutippen?
> Für eure Hilfe wäre ich dankbar, denn ich kenne mich damit kaum aus.
>
Dann nimm deine Textdatei und erzeuge aus dieser mit Hilfe Editormakros
deines Editors UPDATE-Befehle. Jede Zeile sollte dann in etwa so aussehen:
UPDATE adressen set wohnort='Muenchen' WHERE mitgliedsnummer='1234A';
Und dann diese erstellten Zeilen in einen Client deiner Wahl eingeben
und feddig.
Grüße
Dirk
Re: Datenupdate
am 25.07.2006 14:10:57 von bartez2004-apoll
Vielen Dank für die schnellen Antworten. Tja ein Backup gibt es nicht.
Die Lösung scheidet aus. Da ich aber jetzt die Verwaltung übernehmen
darf, werde ich für ein regelmäßiges Backup sorgen. Gibt es nicht
einen Befehl, der die Mitgliedsnummern in der Tabelle mit den
vorhandenen Mitgliedsnummern in der Datei vergleicht und bei
Übereinstimmung den entsprechenden Wohnort setzt? In Excel würde mir
da was einfallen aber in SQL bin ich ein Newbie. :-(
Re: Datenupdate
am 25.07.2006 14:21:13 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Datenupdate
am 25.07.2006 14:38:11 von bartez2004-apoll
Also ganz ehrlich gesagt. Habe ich Dirks Antwort eigentlich garnicht
verstanden. Nicht böse sein Dirk -> ich betrete hier Neuland!
Re: Datenupdate
am 25.07.2006 15:33:31 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Datenupdate
am 25.07.2006 15:40:12 von Christian Kirsch
Andreas Kretschmer schrieb:
> begin bartez2004-apoll@yahoo.de wrote:
>> Also ganz ehrlich gesagt. Habe ich Dirks Antwort eigentlich garnicht
>> verstanden. Nicht böse sein Dirk -> ich betrete hier Neuland!
>
> Bist Du sicher, nicht überfordert zu sein?
>
>
> Okay, als ungetester Schnellschuß:
>
>
> kretschmer@tux:~$ cat foo.csv
> 1;Berlin;bla
> 2;Hamburg;blub
> kretschmer@tux:~$ awk 'BEGIN{FS=";"}{print "UPDATE table SET wohnort = \047" $2 "\047 WHERE id = " $1}' < foo.csv
> UPDATE table SET wohnort = 'Berlin' WHERE id = 1
> UPDATE table SET wohnort = 'Hamburg' WHERE id = 2
>
>
> Das leitest Du entweder erst mal in eine Datei um oder verfütterst es
> gleich an den CLI-Client von Deinem RDBMS.
>
Ich vermute mal, da arbeitet jemand mit Access unter Windoze. Und das
hat (wieder eine Vermutung) keinen CLI. Von AWK ganz zu schweigen ...
Vermutlich wäre es besser, einen Dienstleister mit der Arbeit zu
beauftragen. Oder einen Karteikasten zu verwenden.
Re: Datenupdate
am 25.07.2006 16:21:49 von ascii158
Hi,
bartez2004-apoll@yahoo.de wrote:
> ich habe nun die Aufgabe in unserem Vereine, die Mitglieder zu
> verwalten. In unserer Datenbank gibt es eine Tabelle Adressen
> (Mitgliedsnummer, Wohnort, Strasse, etc.). Leider habe ich den Inhalt
> der Spalte Wohnort gelöscht. Glücklicherweise habe ich in einer
> älteren Textdatei (CSV) noch teilweise die Daten (Mitgliedsnummer,
> Wohnort, ...). Wie kann ich den Inhalt der Spalte "Wohnort" aus der
> Textdatei in die Spalte "Wohnort" in der Tabelle "Adresse" ohne alles
> einzeln einzutippen?
Hm, wäre es nicht möglich diese CSV-Datei mit der csv-Engine einzubinden
und dann ein Statement wie
UPDATE mitglieder SET Wohnort=(SELECT Wohnort FROM csvtable WHERE
mnummer=mitglieder.mnummer);
abzusetzen?
Grüße,
--
Philipp Tölke
PGP 0x96A1FE7A
Re: Datenupdate
am 25.07.2006 16:22:12 von Carsten Wiedmann
bartez2004-apoll@yahoo.de schrieb:
> ich habe nun die Aufgabe in unserem Vereine, die Mitglieder zu
> verwalten. In unserer Datenbank gibt es eine Tabelle Adressen
> (Mitgliedsnummer, Wohnort, Strasse, etc.). Leider habe ich den Inhalt
> der Spalte Wohnort gelöscht. Glücklicherweise habe ich in einer
> älteren Textdatei (CSV) noch teilweise die Daten (Mitgliedsnummer,
> Wohnort, ...).
Lege erst einmal eine temporäre Tabelle an:
http://dev.mysql.com/doc/refman/5.0/en/create-table.html
Importiere dann dein CSV in diese temporäre Tabelle:
http://dev.mysql.com/doc/refman/5.0/en/load-data.html
> Wie kann ich den Inhalt der Spalte "Wohnort" aus der
> Textdatei in die Spalte "Wohnort" in der Tabelle "Adresse" ohne alles
> einzeln einzutippen?
> Für eure Hilfe wäre ich dankbar, denn ich kenne mich damit kaum aus.
Und jetzt updatest du die Spalte "Wohnort" in der Tabelle "Adresse" mit dem
Wert aus Spalte "Wohnort" in der temporären Tabelle. Immer jeweils wo in
beiden Tabellen die Spalte "Mitgliedsnummer" übereinstimmt:
http://dev.mysql.com/doc/refman/5.0/en/update.html
Anschliessend kannst du dann die temporäre Tabelle wieder löschen:
http://dev.mysql.com/doc/refman/5.0/en/drop-table.html
Gruß
Carsten
Re: Datenupdate
am 25.07.2006 16:22:13 von bartez2004-apoll
Na ganz so dramatisch ist es mit meinen Fähigkeiten nun auch nicht.
Fakt ist, dass es meinen Vorgänger nicht mehr gibt. Er hat selbst für
die Verwaltung eine kleine Oberfläche programmiert. Im Hintergrund
läuft auf dem PC (WinXP) mysql 4.1. Die Tabellen bearbeite ich mit
mysql-front.
Re: Datenupdate
am 25.07.2006 16:26:05 von Carsten Wiedmann
bartez2004-apoll@yahoo.de schrieb:
> Übereinstimmung den entsprechenden Wohnort setzt? In Excel würde mir
> da was einfallen aber in SQL bin ich ein Newbie. :-(
Da ja Excel auch über ODBC auf MySQL zugreifen kann, kannst du das natürlich
auch direkt in Excel machen, wenn du damit besser zurecht kommst.
Gruß
Carsten
Re: Datenupdate
am 25.07.2006 18:28:04 von Thomas Rachel
Andreas Kretschmer wrote:
> kretschmer@tux:~$ awk 'BEGIN{FS=";"}{print "UPDATE table SET wohnort =
> \047" $2 "\047 WHERE id = " $1}' < foo.csv
> UPDATE table SET wohnort = 'Berlin' WHERE id = 1
> UPDATE table SET wohnort = 'Hamburg' WHERE id = 2
Kleine Korrektur:
kretschmer@tux:~$ awk 'BEGIN{FS=";"}{print "UPDATE table SET wohnort =
\047" $2 "\047 WHERE id = " $1 ";"}' < foo.csv
UPDATE table SET wohnort = 'Berlin' WHERE id = 1;
UPDATE table SET wohnort = 'Hamburg' WHERE id = 2;
Der CLI-Client hätte die einzelnen Statements gerne per ; abgetrennt.
Thomas
--
> Nein, denn OE löscht dieses "überflüssige" Leerzeichen.
> Ja, es ist krank, furchtbar krank!
Oooh, das arme OEchen ;-)) (Dieter Bruegmann und Dirk Schneider in dnq)
Re: Datenupdate
am 25.07.2006 18:30:16 von Thomas Rachel
Christian Kirsch wrote:
>> Das leitest Du entweder erst mal in eine Datei um oder verfütterst es
>> gleich an den CLI-Client von Deinem RDBMS.
>>
>
> Ich vermute mal, da arbeitet jemand mit Access unter Windoze.
Das lieÃe sich ändern - zur Not mit Knoppix auf einem anderen Rechner
(wenn man den Server für das Subnetz, sofern vorhanden freischaltet).
> Und das hat (wieder eine Vermutung) keinen CLI. Von AWK ganz zu
> schweigen ...
Das gibt es unter Knoppix ebenfalls - und auch unter cygwin.
> Vermutlich wäre es besser, einen Dienstleister mit der Arbeit zu
> beauftragen. Oder einen Karteikasten zu verwenden.
Gut möglich - oder aber zu lernen.
Vor 4 Jahren hatte ich auch noch keine Ahnung von Datenbanken und
arbeitete unter Windows...
Thomas
Re: Datenupdate
am 25.07.2006 19:02:48 von Carsten Wiedmann
Thomas Rachel schrieb:
> Christian Kirsch wrote:
>
> > > Das leitest Du entweder erst mal in eine Datei um oder verfütterst es
> > > gleich an den CLI-Client von Deinem RDBMS.
> > >
> >
> > Ich vermute mal, da arbeitet jemand mit Access unter Windoze.
>
> Das ließe sich ändern - zur Not mit Knoppix auf einem anderen Rechner
> (wenn man den Server für das Subnetz, sofern vorhanden freischaltet).
Seit wann arbeitet Access auch unter Knoppix? ;-)
BTW:
Wenn jemand ein Problem unter Windows lösen möchte, ist es doch irgenwie
daneben zu sagen, er solle ein anderes OS nehmen?
> > Und das hat (wieder eine Vermutung) keinen CLI. Von AWK ganz zu
> > schweigen ...
>
> Das gibt es unter Knoppix ebenfalls - und auch unter cygwin.
Wieso soll sich jemand der Windows benutzt, sich ein CygWin installieren
oder ein anderes OS benutzen, um das Tool "awk" zu benutzen? Und das CLI
(mysql) ist ja sowieso das einzigste, standardmässig installierte Tool, um
mit MySQL zu kommunizieren. Sollte aber jedem klar sein der das Manual liest
;-)
> > Vermutlich wäre es besser, einen Dienstleister mit der Arbeit zu
> > beauftragen. Oder einen Karteikasten zu verwenden.
>
> Gut möglich - oder aber zu lernen.
>
> Vor 4 Jahren hatte ich auch noch keine Ahnung von Datenbanken und
> arbeitete unter Windows...
Da hast du recht. Wenn hier jemand eine Frage zu MySQL hat und es gibt eine
SQL-Lösung für das Problem, ist das OS i.d.R wirklich uninteressant.
Gruß
Carsten
Re: Datenupdate
am 25.07.2006 19:36:49 von bartez2004-apoll
Vielen Dank an Euch alle. Ich habe das Problem mit Eurer Hilfe gelöst.
Re: Datenupdate
am 25.07.2006 19:38:20 von ascii158
bartez2004-apoll@yahoo.de schrieb:
> Vielen Dank an Euch alle. Ich habe das Problem mit Eurer Hilfe gelöst.
Also ich bin jetzt aus reiner Neugierde interessiert, wie du es gelöst
hast...
Grüße,
--
Philipp Tölke
PGP: 0x96A1FE7A
Re: Datenupdate
am 25.07.2006 21:37:32 von bartez2004-apoll
Philipp Tölke schrieb:
> Also ich bin jetzt aus reiner Neugierde interessiert, wie du es gelöst
> hast...
>
> Grüße,
> --
> Philipp Tölke
> PGP: 0x96A1FE7A
Also dein Tip war eigentlich ausschlaggebend. Mit dem Update-Befehl
habe ich davor schon experimentiert, hatte aber immer Syntaxfehler.
Also habe ich nochmals angefangen:
Als Erstes habe ich die Daten aus der CSV-Datei in eine neue Tabelle
der Datenbank geladen. Danach startete ich folgende Abfrage:
insert into mitglieder(wohnort) select tabelle.wohnort from
mitglieder,tabelle where
mitglieder.mitgliedsnummer=3Dtabelle.mitgliedsnummer;
Alles hat wunderbar geklappt. mfg
Re: Datenupdate
am 26.07.2006 07:04:53 von Thomas Rachel
Oscar76 wrote:
^^^^^^^ Hä?
> Also dein Tip war eigentlich ausschlaggebend. Mit dem Update-Befehl
> habe ich davor schon experimentiert, hatte aber immer Syntaxfehler.
> Also habe ich nochmals angefangen:
> Als Erstes habe ich die Daten aus der CSV-Datei in eine neue Tabelle
> der Datenbank geladen.
Soweit ok.
> Danach startete ich folgende Abfrage:
>
> insert into mitglieder(wohnort) select tabelle.wohnort from
> mitglieder,tabelle where
> mitglieder.mitgliedsnummer=tabelle.mitgliedsnummer;
Und das hat geklappt? Kann ich mir fast nicht vorstellen.
Ich nehme an, Du hast jetzt in Mitglieder weiterhin die Zeilen mit dem
gelöschten Wohnort und des weiteren neue Zeilen mit ausschlieÃlich dem
Wohnort drin. DAs ist ja nicht ganz so das Gelbe vom Ei...
Versuchs mal mit
UPDATE mitglieder JOIN tabelle USING (mitgliedsnummer) SET
mitglieder.wohnort=tabelle.wohnort;
Denn Du willst ja keine neuen Zeilen hinzufügen, sondern bestehende
Zeilen korrigieren...
Thomas
--
Ich finde, mit OE zu mailen ist wie in Thailand "SpaÃ" haben ohne Gummi.
(Sönke Müller-Lund in dclj)
Re: Datenupdate
am 26.07.2006 07:09:01 von Thomas Rachel
Carsten Wiedmann wrote:
> Wenn jemand ein Problem unter Windows lösen möchte, ist es doch
> irgenwie daneben zu sagen, er solle ein anderes OS nehmen?
Schon - aber kennst Du ein awk für Windows?
> Wieso soll sich jemand der Windows benutzt, sich ein CygWin
> installieren oder ein anderes OS benutzen, um das Tool "awk" zu
> benutzen?
Oder gibt es das?
> Und das CLI (mysql) ist ja sowieso das einzigste,
> standardmässig installierte Tool, um mit MySQL zu kommunizieren. Sollte
> aber jedem klar sein der das Manual liest ;-)
Mir wäre neu, daà man mit dem CLI eine CSV-Datei einlesen könnte... Eine
zusätzliche externe Umwandlung ist dabei durchaus von Nöten.
gawk (GNU awk) läÃt sich sogar dahingehend aufbohren, daà man das
MySQL-API direkt ansprechen kann...
>> Vor 4 Jahren hatte ich auch noch keine Ahnung von Datenbanken und
>> arbeitete unter Windows...
>
> Da hast du recht. Wenn hier jemand eine Frage zu MySQL hat und es gibt
> eine SQL-Lösung für das Problem, ist das OS i.d.R wirklich
> uninteressant.
Das war nicht das, was ich meinte - ich habe neben den hinzugekommenen
Datenbankkenntnissen auch festgestellt, daà einem unter einem *x
wesentlich mehr Tools zur Verfügung stehen, wesentlich weniger die Hände
gebunden sind und man wesentlich mehr Freiheiten hat als unter Windows.
Thomas
--
"Ich hätte gern ein Pfund Brot." - "Das heiÃt jetzt 'Kilo'!" - "Wie,
nicht mehr Brot?"
Re: Datenupdate
am 26.07.2006 12:39:02 von bartez2004-apoll
Also ich habe mir eben nochmal eine leere Datenbank erstellt. In ihr
habe ich die Tabellen "mitglieder" und "tabelle" eingefügt. Danach
habe ich die Spalte "wohnort" in "mitglieder" geleert. Danach habe ich
meine Syntax eingegeben und es funzt. Bei deiner Syntax schmiert mir
immer mysql-front ab.
Eine Frage noch nebenbei. Im Unterverzeichnis /Data von mysql sind
Dateien in der Form "mysql.051". Einige davon sind über 100MB groß.
Die nehmen 'ne ganze Menge Speicher weg. Kann man die nicht löschen?
Re: Datenupdate
am 26.07.2006 12:57:18 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Datenupdate
am 26.07.2006 12:58:30 von bartez2004-apoll
Andreas Kretschmer schrieb:
> begin Oscar76 wrote:
> > Eine Frage noch nebenbei. Im Unterverzeichnis /Data von mysql sind
> > Dateien in der Form "mysql.051". Einige davon sind über 100MB groß.
> > Die nehmen 'ne ganze Menge Speicher weg. Kann man die nicht löschen?
>
> Ja, na klar kann man.
>
>
> end
> Andreas
> --
> q: why do so many people take an instant dislike to mysql?
> a: it saves time (oicu in #postgresql)
> Explaining the concept of referential integrity to a mysql user is like
> explaining condoms to a catholic (Shadda in #postgresql)
Was sind das für Dateien? Ich nehme mal an Log- oder Cache-Files.
Werden die nicht automatisch irgendwann gelöscht?
Re: Datenupdate
am 26.07.2006 14:49:08 von Carsten Wiedmann
Thomas Rachel schrieb:
> Carsten Wiedmann wrote:
>
> > Wenn jemand ein Problem unter Windows lösen möchte, ist es doch
> > irgenwie daneben zu sagen, er solle ein anderes OS nehmen?
>
> Schon - aber kennst Du ein awk für Windows?
Ja.
| E:\>awk
| Usage: awk [-f programfile | 'program'] [-Ffieldsep] [-v var=value]
[files]
|
| E:\>
> > Wieso soll sich jemand der Windows benutzt, sich ein CygWin
> > installieren oder ein anderes OS benutzen, um das Tool "awk" zu
> > benutzen?
>
> Oder gibt es das?
s.o. Nebenbei ist der Quellcode für AWk ja auch verfügbar. Du könntest es
dir notfalls also auch einfach selber kompilieren.
> > Und das CLI (mysql) ist ja sowieso das einzigste,
> > standardmässig installierte Tool, um mit MySQL zu kommunizieren. Sollte
> > aber jedem klar sein der das Manual liest ;-)
>
> Mir wäre neu, daß man mit dem CLI eine CSV-Datei einlesen könnte... Eine
> zusätzliche externe Umwandlung ist dabei durchaus von Nöten.
Wozu ist die SQL-Anweisung "LOAD DATA INFILE" da? Und dann gäbe es auch noch
das Shell-Tool "mysqlimport". Auch für jedes OS verfügbar.
> > Da hast du recht. Wenn hier jemand eine Frage zu MySQL hat und es gibt
> > eine SQL-Lösung für das Problem, ist das OS i.d.R wirklich
> > uninteressant.
>
> Das war nicht das, was ich meinte - ich habe neben den hinzugekommenen
> Datenbankkenntnissen auch festgestellt, daß einem unter einem *x
> wesentlich mehr Tools zur Verfügung stehen, wesentlich weniger die Hände
> gebunden sind und man wesentlich mehr Freiheiten hat als unter Windows.
Mit Tools kannst du hier aber nur was meinen, was (in diesem Fall) nicht
direkt zu MySQL gehört, also Shell-Tools? Hier stellt sich natürlich die
Frage, ob es einige nicht auch für Windows gibt. Und das ist IMHO eh schon
fatal zu erwarten, dass Windows wie *nix arbeitet und dort die selben
Kommandos in der Shell (von vorne herein) zur Verfügung stehen.
Die wirklichen Unterschiede von MySQL zwischen Windows und *nix sind
jedenfalls minimal. Und bei den Fragen die hier i.d.R. gestellt werden dann
eh irrelevant.
Gruß
Carsten
Re: Datenupdate
am 26.07.2006 15:42:01 von Thomas Rachel
Carsten Wiedmann wrote:
> Ja.
> | E:\>awk
> | Usage: awk [-f programfile | 'program'] [-Ffieldsep] [-v var=value]
> [files]
> |
> | E:\>
Ah, ok.
> s.o. Nebenbei ist der Quellcode für AWk ja auch verfügbar. Du könntest es
> dir notfalls also auch einfach selber kompilieren.
Könnte ich, ja. Aber ob es der OP dieses Threads auch könnte, weià ich
nicht. Da war mir ein "Knoppix booten" jedenfalls die schnellste Variante.
Aber wenn es im Netz eine fertig kompilierte awk.exe gibt - dürfte das wohl
die schnellste Lösung für sein Problem sein, ...
> Wozu ist die SQL-Anweisung "LOAD DATA INFILE" da? Und dann gäbe es auch
> noch das Shell-Tool "mysqlimport". Auch für jedes OS verfügbar.
.... wenn ich nicht dies hier vergessen hätte. Mea culpa.
>> Das war nicht das, was ich meinte - ich habe neben den hinzugekommenen
>> Datenbankkenntnissen auch festgestellt, daà einem unter einem *x
>> wesentlich mehr Tools zur Verfügung stehen, wesentlich weniger die Hände
>> gebunden sind und man wesentlich mehr Freiheiten hat als unter Windows.
>
> Mit Tools kannst du hier aber nur was meinen, was (in diesem Fall) nicht
> direkt zu MySQL gehört, also Shell-Tools?
Ja, das war mehr aufs OS allgemein gemünzt. Insofern schon nicht mehr ganz
OT, mehr eine mögliche Lernkurve beschreibend. So nach dem Motto "Wenn
einer keine Ahnung hat, heiÃt das noch nicht, daà er es nicht auch lernen
könnte."
Thomas
--
> Realität? Wasz dasz denn?
Irgendson Teil da drauÃen *vage mit dem Finger rumfuchtel*
(Stefanie Kruse zu Stephan Manske in germanynet.talk)
Re: Datenupdate
am 26.07.2006 20:30:39 von Norbert Melzer
Am 26 Jul 2006 03:58:30 -0700 schrieb Oscar76:
> Andreas Kretschmer schrieb:
>
>> begin Oscar76 wrote:
>>> Eine Frage noch nebenbei. Im Unterverzeichnis /Data von mysql sind
>>> Dateien in der Form "mysql.051". Einige davon sind über 100MB groß.
>>> Die nehmen 'ne ganze Menge Speicher weg. Kann man die nicht löschen?
>>
>> Ja, na klar kann man.
Andreas, bitte ärgere die jungen nicht immer!
> Was sind das für Dateien? Ich nehme mal an Log- oder Cache-Files.
> Werden die nicht automatisch irgendwann gelöscht?
*DATA*, was kann eine ein *DATEN*banksystem da wohl drin speichern, nur mal
so als Wink mit dem Brückenpfeiler :-)
HTH
Norbert
Re: Datenupdate
am 26.07.2006 21:22:11 von Carsten Wiedmann
Oscar76 schrieb:
> Eine Frage noch nebenbei. Im Unterverzeichnis /Data von mysql sind
> Dateien in der Form "mysql.051". Einige davon sind über 100MB groß.
> Die nehmen 'ne ganze Menge Speicher weg. Kann man die nicht löschen?
Hört sich an, als hättest du das Binary Log [1] aktiviert. Deaktiviere
dieses, und starte den Server neu. Dann kannst du diese Dateien löschen.
Gruß
Carsten
[1] http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
Re: Datenupdate
am 26.07.2006 21:47:01 von Andreas Kretschmer
Andreas
--
q: why do so many people take an instant dislike to mysql?
a: it saves time (oicu in #postgresql)
Explaining the concept of referential integrity to a mysql user is like
explaining condoms to a catholic (Shadda in #postgresql)
Re: Datenupdate
am 27.07.2006 16:46:39 von unknown
Post removed (X-No-Archive: yes)
Re: Datenupdate
am 27.07.2006 17:09:12 von Thomas Rachel
Robert Eckl wrote:
>>> Wieso soll sich jemand der Windows benutzt, sich ein CygWin
>>> installieren oder ein anderes OS benutzen, um das Tool "awk" zu
>>> benutzen?
>>
>> Oder gibt es das?
>>
> Bei CygWin und MSYS ist AFAIK awk dabei.
CygWin hatte ich ja selbst erwähnt; MSYS werde ich mir mal im Hinterkopf
behalten, falls ich es mal brauchen sollte. (Das ist das Teil, das zu MinGW
gehört, oder?)
>> Das war nicht das, was ich meinte - ich habe neben den hinzugekommenen
>> Datenbankkenntnissen auch festgestellt, daà einem unter einem *x
>> wesentlich mehr Tools zur Verfügung stehen, wesentlich weniger die Hände
>> gebunden sind und man wesentlich mehr Freiheiten hat als unter Windows.
>>
> Vor ein paar Wochen hatte ich mich hier "beschwert", daà die
> Bearbeitungsmöglichkeiten unter Win so unbequem seien. Freundlicherweise
> wurde ich hier darauf gestossen, daà das eine faule Ausrede sei. Ich
> hatte einfach befürchtet, mich in ganz Neues (Perl, php, lisp, ...)
> einarbeiten zu müssen; aber ich muÃte nur sed für WIN finden und ein
> paar einfache shell-Commandos ausgraben. So war der als aufwendig
> eingestufte Teil eigentlich ganz einfach. Viele Tools sind auch unter
> Win nutzbar, wenn sie "dort" auch nicht ganz so verbreitet und bekannt
> sind.
(OT) Ja, aber es ist einfach ganz allgemein ein ganz anderes Gefühl unter
Linux - Autocompleting und session-übergreifende History in der bash (ja,
bash unter cygwin ist und bleibt eine Notlösung).
Ist es bei den neuesten Versionen eigentlich immer noch so, das Pipes in der
Eingabezeile über temporäre Dateien realisiert werden? *shudder*
Thomas
--
> Bitte nicht gleich losschimpfen,
Das ist hier auch nicht Sitte. Denn hier ist hamster.all und nicht de.all.
(Maik Bauch und Joern Weber in hamster.de.config; 2000-09-24)
Re: Datenupdate
am 27.07.2006 20:17:54 von unknown
Post removed (X-No-Archive: yes)
Re: Datenupdate
am 28.07.2006 09:18:09 von bartez2004-apoll
Thomas Rachel schrieb:
> Und das hat geklappt? Kann ich mir fast nicht vorstellen.
>
> Ich nehme an, Du hast jetzt in Mitglieder weiterhin die Zeilen mit dem
> gelöschten Wohnort und des weiteren neue Zeilen mit ausschließlich dem
> Wohnort drin. DAs ist ja nicht ganz so das Gelbe vom Ei...
>
>
> Versuchs mal mit
>
> UPDATE mitglieder JOIN tabelle USING (mitgliedsnummer) SET
> mitglieder.wohnort=3Dtabelle.wohnort;
>
>
> Denn Du willst ja keine neuen Zeilen hinzufügen, sondern bestehende
> Zeilen korrigieren...
>
Jo. Hast recht. Der hat mir einfach den Inhalt einer Spalte in die
Tabelle geknallt. Dein Befehl klappt doch. Sorry für meinen vorherigen
Post.
> Thomas
> --
> Ich finde, mit OE zu mailen ist wie in Thailand "Spaß" haben ohne Gummi.
> (Sönke Müller-Lund in d=
clj)
Re: Datenupdate
am 28.07.2006 09:32:16 von bartez2004-apoll
Carsten Wiedmann schrieb:
> Hört sich an, als hättest du das Binary Log [1] aktiviert. Deaktiviere
> dieses, und starte den Server neu. Dann kannst du diese Dateien löschen.
>
> Gruß
> Carsten
>
> [1] http://dev.mysql.com/doc/refman/5.0/en/binary-log.html
So, ich habe mich durch das Handbuch gewurschtelt. Da die Datei z.B.
mysql.051 heißt, gehe ich davon aus, dass die Datenbank mysql geloggt
wird. Wenn ich das Handbuch richtig verstanden habe, muss ich jetzt
folgendes ins Dos eingeben, damit nichts mehr geloggt wird:
mysqld binlog-ignore-db=3Dmysql
Mache ich dies erscheint folgende Meldung:
Can't start server: Bind on TCP/IP port: No error
060728 9:31:28 Do you already have another mysqld server running on
port: 3306
?
060728 9:31:28 Aborting
060728 9:31:28 mysqld: Shutdown Complete
Was mache ich falsch?
Re: Datenupdate
am 28.07.2006 09:37:23 von Frank Schenk
Oscar76 wrote:
>
> So, ich habe mich durch das Handbuch gewurschtelt. Da die Datei z.B.
> mysql.051 heißt, gehe ich davon aus, dass die Datenbank mysql geloggt
> wird. Wenn ich das Handbuch richtig verstanden habe, muss ich jetzt
> folgendes ins Dos eingeben, damit nichts mehr geloggt wird:
>
> mysqld binlog-ignore-db=mysql
>
> Mache ich dies erscheint folgende Meldung:
>
> Can't start server: Bind on TCP/IP port: No error
> 060728 9:31:28 Do you already have another mysqld server running on
> port: 3306
> ?
> 060728 9:31:28 Aborting
>
> 060728 9:31:28 mysqld: Shutdown Complete
>
> Was mache ich falsch?
my.cnf ->binlog ausschalten
mysqld restart
Falls es die my.cnf nicht gibt:
mysqld stop
mysqld --datadir= --basedir= binlog-ignore-db=mysql ...weitere
konfigurationsdirektiven
je nachdem auf welchem OS mysql läuft und welcher Daemonhandler sich ums
Starten und Stoppen von Daemons kümmert.
Aber das hat dir Carsten eigentlich schon alles erklärt...
Frank
Re: Datenupdate
am 28.07.2006 09:46:38 von Thomas Rachel
Oscar76 wrote:
^^^^^^^
Ãhm...
> So, ich habe mich durch das Handbuch gewurschtelt. Da die Datei z.B.
> mysql.051 heiÃt, gehe ich davon aus, dass die Datenbank mysql geloggt
> wird. Wenn ich das Handbuch richtig verstanden habe, muss ich jetzt
> folgendes ins Dos eingeben, damit nichts mehr geloggt wird:
>
> mysqld binlog-ignore-db=mysql
Stop. Es handelt sich bei diesem binlog-ignore-db=mysql (wenn das denn so
stimmt, damit kenne ich mich nicht aus) um einen Startparameter für den
Daemon.
Das obige würdest Du eingeben, wenn der Daemon mal ausnahmsweise so
gestartet werden soll. Da Du das aber wohl immer so willst (oder?),
solltest Du den Parameter permanent eintragen. Dazu gibt es die my.cnf. Wo
die unter Deinem OS (=Windows?) genau liegt, weià ich nicht.
Dann könnte es noch sein, daà die Diensteverwaltung in Windows auch ein Ort
sein könnte, wo man solche Parameter unterbringen kann. Damit kenn ich mich
ncht aus, aber es könnte ein Stichwort sein, an dem Du weiterarbeiten
kannst...
Thomas
--
>Ich bin anscheinend nicht so geschmacklos, ich habe meine Frau in
>de.talk.romance kennengelernt...
Man sagt "aus de.talk.romance gedownloaded". (K. Koehntopp in d.a.f.u)
Re: Datenupdate
am 28.07.2006 11:32:30 von bartez2004-apoll
So. Hab es jetzt hinbekommen obwohl es anfangs nicht geklappt hat. Erst
habe ich im Windows-Dienstemanager den mysql-server gestoppt. Dann habe
ich die empfohlene Syntax in der DOS-Eingabeaufforderung eingegeben.
Danach kam aber kein DOS-Prompt mehr. Der Dienst ließ sich danach auch
nicht mehr starten. Folge Windows-Reboot.
Beim Start merkte ich, dass ich winmysqladmin im Autostart habe. Dort
habe ich in der mysql.ini folgendes auskommentiert "log-bin
=3DC:/Programme/mysql/data/mysql.log". Dienst neu gestartet.
-> Läuft.
Ich finde es nicht gut, dass mehrere Programme ein und das gleiche
steuern wollen und sich deshalb gegenseitig behindern.
Re: Datenupdate
am 28.07.2006 14:19:55 von Dirk Brosowski
Oscar76 schrieb:
> So. Hab es jetzt hinbekommen obwohl es anfangs nicht geklappt hat. Erst
> habe ich im Windows-Dienstemanager den mysql-server gestoppt. Dann habe
> ich die empfohlene Syntax in der DOS-Eingabeaufforderung eingegeben.
> Danach kam aber kein DOS-Prompt mehr. Der Dienst ließ sich danach auch
> nicht mehr starten. Folge Windows-Reboot.
>
> Beim Start merkte ich, dass ich winmysqladmin im Autostart habe. Dort
> habe ich in der mysql.ini folgendes auskommentiert "log-bin
> =C:/Programme/mysql/data/mysql.log". Dienst neu gestartet.
> -> Läuft.
>
> Ich finde es nicht gut, dass mehrere Programme ein und das gleiche
> steuern wollen und sich deshalb gegenseitig behindern.
>
Das ist auch nicht so. Es gibt mehrere Stellen an denen der Parameter
stehen kann.
1. Als Parameter beim Start des Daemons -> Diensteverwaltung, kann aber
nur beim Start aus der grafischen Oberfläche jeweils neu angegeben
werden, nicht aber gespeichert.
2. my.cnf des Users. Ob es die unter Windows überhaupt gibt .. ka.
3. my.cnf in /WINDOWS/
gestoppt oder gestartet wir das immer über den Daemon ..
net start mysql (das passiert beim Systemstart .. kein Parameter
angeben -> my.cnf
net stop mysql
Viel Grüße
Dirk