SQL-Programm (Client) gesucht

Du suchst ein Programm für einen bestimmten Zweck?
Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

SQL-Programm (Client) gesucht

Beitrag von Duff » 16.05.2007 21:58:30

Hallo,

ich suche ein Programm, mit dem ich mich direkt auf die SQL-Datenbank auf meinem webserver im Internet zugreifen kann.
Zurzeit mache ich das über die domain.de/mysqladmin.

Hätte aber gerne was womit ich mich direkt verbinden kann und schneller sql-statements absetzen kann.
Kenne z.B. unter unix für oracle-dbs sqlplus oder den dbvisualizer.

Was gibt es da unter debian???

Danke

PS: Wie lautet nochmal das select-statement, wenn ich alle Daten sehen möchte, die vom Datum YYYY-MM-DD sind. Die Einträge in der DB im Feld Datum sehen so aus:
YYYY-MM-DD 00:00:01
YYYY-MM-DD 00:01:02
...
Oh, yeah!

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: SQL-Programm (Client) gesucht

Beitrag von gms » 16.05.2007 22:22:24

Duff hat geschrieben:Kenne z.B. unter unix für oracle-dbs sqlplus oder den dbvisualizer.

Was gibt es da unter debian???
wenn du schon von Oracle sprichst, dort gibt es auch das isqlplus Webinterface, bei mir findet dieses allerdings auch keine Verwendung
der DbVisualizer ist ein Java Programm und lauft daher auch unter Debian :wink:. Vielleicht möchtest du dir auch Squirrel anschauen, der ist auch ganz nett und brauchbar:
http://squirrel-sql.sourceforge.net/

Gruß
gms

joshi
Beiträge: 134
Registriert: 10.08.2005 02:54:33
Lizenz eigener Beiträge: GNU General Public License

Beitrag von joshi » 17.05.2007 19:50:27

sqlyog community edition ist auch ganz fein (für mysql, gibt es meines wissens auch für andere sql-dialekte)
ist für windows, sollte aber auch unter wine laufen...

wär auf jeden fall einen versuch wert

mfg
joshi

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: SQL-Programm (Client) gesucht

Beitrag von gms » 17.05.2007 20:03:15

Duff hat geschrieben:PS: Wie lautet nochmal das select-statement, wenn ich alle Daten sehen möchte, die vom Datum YYYY-MM-DD sind. Die Einträge in der DB im Feld Datum sehen so aus:
YYYY-MM-DD 00:00:01
YYYY-MM-DD 00:01:02
...
kannst du z.B über die "to_char" Funktion lösen:

Code: Alles auswählen

where to_char (Datum, 'yyyy-mm-dd') = '2007-05-17';
oder du verwendest die "trunc" Funktion und wandelst die Datumsspalte in ein Datum ohne Uhrzeit um, oder du machst eine Bereichsabfrage, ...

Benutzeravatar
markus_b
Beiträge: 355
Registriert: 26.01.2006 04:57:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von markus_b » 17.05.2007 20:09:26

Für MySQL gibt es doch den MySQL Query Browser ...

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 17.05.2007 20:25:40

markus_b hat geschrieben:Für MySQL gibt es doch den MySQL Query Browser ...
aja, das hatte ich nicht so rausgelesen, daß er jetzt MySQL verwendet, ich war irgendwie auf Oracle fixiert

@Duff
in diesem Fall wirst du die Datumsabfrage wahrscheinlich anders lösen müssen :roll:

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 18.05.2007 11:05:18

Hallo,

erstmal danke für die vielen Antworten.

Aber wie muss in SQL das Statement lauten?

So funktioniert es auf jeden Fall nicht:

Code: Alles auswählen

SELECT * FROM `tabelle` WHERE trunc(feld_datum) < to_date('19.05.2007','DD.MM.YYYY')
[edit]
...in oracle funktioniert es so...
[/edit]
Oh, yeah!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 18.05.2007 14:25:56

Ok, dass mit dem SQL-Statement hat nun funktioniert.
Ist eigentlich noch einfacher in MySQL

Code: Alles auswählen

SELECT * FROM tabell where datum >= '2007-05-18 *' order by datum desc
Habe mir auch den mysql-query-browser installiert.
Was mich an dem allerdings ein wenig nervt ist, dass ich immer nur ein Statement schreiben bzw. absetzen kann.
Oh, yeah!

goecke
Beiträge: 289
Registriert: 12.01.2007 11:57:27

Beitrag von goecke » 18.05.2007 14:54:01

Hi,

du kannst doch einfach Statements in Dateien schreiben und die zum mysql Programm pipen oder
mehere SQL-Statements durch Semikolen trennen.

Code: Alles auswählen

user@rechner:~$ echo "show databases;"   > test.sql
user@rechner:~$ echo "show processlist;" >> test.sql
user@rechner:~$ cat test.sql | mysql -u root -p
Enter password:
Database
Medien
mysql
test
xxv
Id      User    Host    db      Command Time    State   Info
5       xxv     localhost       xxv     Sleep   92              NULL
64      root    localhost       NULL    Query   0       NULL    show processlist
user@rechner:~$ exit
hilft dir sowas ??

gruss
Johannes

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 18.05.2007 15:00:10

Ja sowas wäre auch noch eine Möglichkeit. Ich müsste mich doch auch mit mysql dann direkt zur DB verbinden können und dann dort meine Statements direkt absetzen, oder?

Wie genau heißt denn das Package, was ich dafür brauche?
Oh, yeah!

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von catdog2 » 18.05.2007 15:08:34

Der mysql Befehl dürfte in mysql-client drin sein.
Unix is user-friendly; it's just picky about who its friends are.

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 18.05.2007 15:19:18

Danke,

habe mir das Package installiert, bekomme aber immer folgende Fehlermeldung:

Code: Alles auswählen

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Habe einfach mysql dbname eingegeben.
Da ich auf eine domäne im Internet zugreife, habe ich nur die Adresse im Format http://www.domain.de eingegeben.
Oh, yeah!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 22.05.2007 11:37:26

Niemand ne Idee, wie ich diesen Fehler beheben kann?

Weil ich denke, dass ich mit dem Befehl mysql schneller auf die db zugreifen kann und dass ich dann auch den Befehl eventuell in Skripten verwenden kann.
Oh, yeah!

Sarem_Avuton
Beiträge: 546
Registriert: 16.12.2004 09:58:27
Wohnort: Leipzig

Beitrag von Sarem_Avuton » 22.05.2007 12:21:11

Duff hat geschrieben:Danke,

habe mir das Package installiert, bekomme aber immer folgende Fehlermeldung:

Code: Alles auswählen

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Habe einfach mysql dbname eingegeben.
Da ich auf eine domäne im Internet zugreife, habe ich nur die Adresse im Format http://www.domain.de eingegeben.
Hallo Duff,

Wo ist den nun der mysql Server bei deinem Test? auf dem selben Rechner oder enfernt?

Wenn entfernt dann mußt du den DB Host mirtgeben und der Server muß natürlich auch auf 3306 lauschen .

Code: Alles auswählen

man mysql
hilft da weiter.

Grüße Jörg

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 22.05.2007 12:37:45

Ja, ihn man mysql habe ich schon reingeschaut.

Aber egal wie ich mysql aufrufe (also welche Optionen ich mit gebe) bekomme ich immer die obere Fehlermeldung.

Nochmals zum Verständnis:

Ich habe eine Domäne im Internet www. domain.de. Dort betreibe ich auch eine Datenbank, auf die mittels Mysqladmin zugreifen kann (http://www.domain.de/mysqladmin).

Dieses Vorgehen finde ich jedoch ziehmlich umständlich, weshalb ich direkt auf die DB zugreifen möchte. Am liebsten mit einem Konsolenprogramm wie hier mysql, nur bekomme ich immer den selben Fehler.
Oh, yeah!

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 22.05.2007 12:49:12

na hast du die DB übers Internet zugänglich gemacht?

Also kannst du dich auf diese connecten?
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 22.05.2007 14:12:48

Savar hat geschrieben: na hast du die DB übers Internet zugänglich gemacht?

Also kannst du dich auf diese connecten?
Sorry, aber ich verstehe nicht genau was du meinst.

Ich kann z.B. über den MySQL Query Browser auf die DB zugreifen, wobei mir das Tool nicht so gefällt (deshalb auch mysql auf Konsole).

Du meinst, ich mache den Fehler beim Aufruf von mysql???
Oh, yeah!

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 22.05.2007 14:30:51

ich meine, dass wenn du per PHPMyAdmin drauf zugreifst und dieses PHPMyAdmin auf der Maschine läuft, auf der auch der MySQL Server läuft, du zwar lokal zugreifen kannst, aber deswegen nicht unbedingt von extern (du willst doch den mysql Client bei deinem Rechner zu Hause starten oder?).
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
markus_b
Beiträge: 355
Registriert: 26.01.2006 04:57:18
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von markus_b » 22.05.2007 19:13:08

Zur Fehlermeldung:
http://dev.mysql.com/doc/refman/5.0/en/ ... erver.html

Es kann übrigens auch sein, dass dein Anbieter den Zugriff von außen auf die Datenbank aus Sicherheitsgründen gesperrt hat. Das ist nicht unüblich!

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 23.05.2007 09:12:10

Ja, ich will den oder ich starte den mysql lokal und will dann auf die DB im Internet (über die ich sonst per http://www.domain.de/mysqladmin zugreife) zugreifen.

Mit dem MySQL Query Browser funktioniert das auch. Starte diesen auch lokal bei mir auf dem Rechner und greife dann auf die (externe) DB im Internet zu.
Oh, yeah!

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 23.05.2007 10:09:11

Hi Daniel,

du solltest mal die Rechte des/der MySQL User checken. Wenn du User anlegst gibt es die "Spalte" Host. hier legst du fest von welchem Rechner aus dieser User auf die DB zugreifen darf. Wenn ein User von jedem beliebigen Rechner aus zugreifen duerfen soll kannst du hier ein % eintragen, ansonsten den Rechner selber, z.B. localhost.
Wenn du ueber die Weboberflaeche arbeitest, ist der User aus DB Sicht lokal angemeldet, wenn du von deinem PC @home auf der Konsole mittels "mysql -h domain.de -u User -p" (oder so aehnlich) dich verbinden willst, sieht die DB dich als "Remote User", und dann muss der User sich eben von diesem Rechner aus verbinden duerfen.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 23.05.2007 10:44:11

roli hat geschrieben: Hi Daniel,

du solltest mal die Rechte des/der MySQL User checken. Wenn du User anlegst gibt es die "Spalte" Host. hier legst du fest von welchem Rechner aus dieser User auf die DB zugreifen darf. Wenn ein User von jedem beliebigen Rechner aus zugreifen duerfen soll kannst du hier ein % eintragen, ansonsten den Rechner selber, z.B. localhost.
Sorry, ich verstehe nicht so ganz worauf dich deine Aussage bezieht. Ich habe für die Datenbank im Internet einen festen user, mit dem ich alle Rechte habe.

Muss ich bei mysql noch was einstellen oder noch was starten?
Oh, yeah!

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Beitrag von roli » 23.05.2007 10:55:02

Duff hat geschrieben:Sorry, ich verstehe nicht so ganz worauf dich deine Aussage bezieht. Ich habe für die Datenbank im Internet einen festen user, mit dem ich alle Rechte habe.
Kein Thema.
Was heisst den "alle Rechte"? Das wird sicherlich heissen, dein User hat "Select, Insert, Grant, ..." Rechte, aber was steht in der Spalte Host (der Tabelle user in der DB mysql) fuer diesen User? Ueber diesen einen Eintrag wird festgelegt von wo aus sich der User mit der DB verbinden darf. Wenn da localhost drinnen steht musst du's aendern, ansonsten wird's nix.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Benutzeravatar
mragucci
Beiträge: 598
Registriert: 08.09.2004 03:21:24
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Endor
Kontaktdaten:

RE

Beitrag von mragucci » 23.05.2007 10:57:31

Mann Leute, lest ihr euch die Postings und Fragen noch durch oder antwortet ihr einfach aus Langeweile :?
Da steht doch
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Da steht klar und deutlich, dass er Verbindung zu einem lokalen Server aufnehmen will. Ausserdem schreibt er, dass sein Server irgendwo im Internet liegt!

@Duff: Bei dieser Aussage kann eigentlich nur ein Wahrsager helfen:
Habe einfach mysql dbname eingegeben.
Da ich auf eine domäne im Internet zugreife, habe ich nur die Adresse im Format http://www.domain.de eingegeben.
Du solltest vielleicht mal posten, wie Du versuchst Dich mit dem Server zu verbinden.
Ich will im Schlaf sterben - Wie mein Opa...
Und nicht weinend und schreiend wie sein Beifahrer!
-----
https://www.whisperedshouts.de

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 23.05.2007 14:33:35

Ich rufe in der Konsole folgendes auf:

Code: Alles auswählen

mysql -h www.domain.de -u User -p Passwort
mysql --> lokal
db --> im Internet
Oh, yeah!

Antworten