Archiv verlassen und diese Seite im Standarddesign anzeigen : Per Bash-Script eine MySQL Datenbank-Tabelle leeren lassen
Andre86_bn
15.06.06, 01:05
Nabend,
ich habe ein Problem und zwar;
Wollte ich mir ein Bash-Script basteln was per Cron gesteuert werden würde und in bestimmten Abständen in der MySQL per 'root' von einer bestimmten Datenbank bestimmte Tabellen komplett leert. Nicht löscht sondern leert :ugly:
Nur leider kenne ich nicht alle Befehle dafür und Google hat mich da auch kein Stück weitergebracht, also hoffe ich hier auf Hilfe.
So sieht mein Script bissher aus:
#!/bin/bash
mysql --host=localhost --port=3306 --protocol=socket --socket=/var/run/mysqld/mysqld.sock --user=root --password=*** --database=usr_web2_1
echo "#######################################"
echo "# MySQL-Datenbank erfolgreich geleert #"
echo "#######################################"
Soweit dürfte da alles stimmen, aber wie gesagt weiter komme ich leider nicht :confused: :(
MfG:
André86
P.S. Ich hoffe ich hab das richtige Forum erwischt :rolleyes:
echo "DROP TABLE $karl_heinz" | mysql --mysql-optionen-nach-deinem-belieben
Danach suchst du. ;)
echo "DROP TABLE $karl_heinz" | mysql --mysql-optionen-nach-deinem-belieben
Danach suchst du. ;)
Wäre es nicht eher TRUNCATE, um die Tabelle nur zu leeren?
Andre86_bn
15.06.06, 11:21
Das mit dem 'DROP TABLE' hat leider nicht gefunzt:
./mysql-cleaner.sh
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
#######################################
# MySQL-Datenbank erfolgreich geleert #
#######################################
Und das mit dem 'TRUNCATE' hat auch nicht gefunzt, kriege die selbe Fehlermeldung.
Wäre es nicht eher TRUNCATE, um die Tabelle nur zu leeren?
Oh, Verzeihung, natürlich ists nicht DROP. Ich hatte mich wohl ein wenig verlesen...;)
Versuchs mal mit "DELETE FROM $tabelle". Die Syntax vom DROP war definitiv richtig, du musst da irgendwas falsch eingetippt haben.
Andre86_bn
15.06.06, 13:21
Irgendwie verstehe ich es langsam nicht mehr, kriege wieder n Fehler:
./mysql-cleaner.sh
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
#######################################
# MySQL-Datenbank erfolgreich geleert #
#######################################
Roger Wilco
15.06.06, 14:20
Dein SQL-Query ist falsch. Offensichtlich. Da du uns den aber nicht zeigts, werden wir dir nicht helfen können/wollen.
Andre86_bn
15.06.06, 15:51
Wie :confused:
Ich bin da noch nicht so fit drinne :)
Also was genau wollt/braucht ihr denn jetzt :rolleyes:
Wie sieht das Script jetzt genau aus?
Andre86_bn
15.06.06, 16:30
So sieht das Script bis jetzt aus:
#!/bin/bash
echo "DELETE FROM $Tabellenname" | mysql --host=localhost --port=3306 --protocol=socket --socket=/var/run/mysqld/mysqld.sock --user=root --password=*** --database=usr_web2_1
echo "#######################################"
echo "# MySQL-Datenbank erfolgreich geleert #"
echo "#######################################"
Roger Wilco
15.06.06, 18:45
mysql --user=root --password=*** --database=usr_web2_1 -e 'TRUNCATE TABLE $Tabellenname'
Hi,
wo wird den $Tabellename ein Wert zugewiesen? Wahrscheinlich schickst du "DELETE FROM" an die DB. Das führt zu einem Fehler, logisch. Denn hinter FROM muss der Tabellenname stehen.
Pack das Passwort doch bitte in deine ~/.my.cnf. Nicht jeder, der auf der Kiste ist, muss das Passwort kennen. Danke.
Andre86_bn
15.06.06, 21:19
Pack das Passwort doch bitte in deine ~/.my.cnf. Nicht jeder, der auf der Kiste ist, muss das Passwort kennen. Danke.
Brauch ich nichmal umbedingt ^^
Habe nur alleine Zugriff auf die Kiste :>
mysql --user=root --password=*** --database=usr_web2_1 -e 'TRUNCATE TABLE $Tabellenname'
Habs damit geschafft, is nur ein Fehler drinne gewesen :cool:
-e 'TRUNCATE TABLE $Tabellenname' <- -> -e 'TRUNCATE TABLE Tabellenname'
Danke an alle die mir bei dem Problem geholfen haben :D
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.