mySQL-Datenbank mit Offline-Frontend

mySQL-Datenbank mit Offline-Frontend

am 23.10.2005 12:11:45 von scholle

Hallo, Gurus!

Ein Kunde wünscht sich, die im Internet bei einem Provider
installierte MySQL-Datenbank offline abzufragen, um Auswertungen
vorzunehmen. Er möchte Access als Frontend benutzen, um die
Auswertungen selbst zu gestalten.

Wie man offline MySQL installiert und mit Access per ODBC ansteuert ist
mir klar. Die Frage ist nur, wie der Datenaustausch mit dem Internet
geschickt geregelt wird.

- was ist der optimale Weg?
- wie gehe ich genau vor?

Vielen Dank für Eure Antworten!
Michael Scholz

Re: mySQL-Datenbank mit Offline-Frontend

am 23.10.2005 13:08:45 von Christian Kirsch

scholle wrote:
> Hallo, Gurus!
>
> Ein Kunde wünscht sich, die im Internet bei einem Provider
> installierte MySQL-Datenbank offline abzufragen, um Auswertungen
> vorzunehmen. Er möchte Access als Frontend benutzen, um die
> Auswertungen selbst zu gestalten.
>

Ich verstehe nicht ganz, was eine "offline"-Abfrage eines Servers sein
soll. Mit offline ist doch üblicherweise gemeint "Keine Netzverbindung".
Wenn ich aber keine Netzverbindung zu MySQL habe, kann ich auch keine
Abfragen an den Server schicken.

> Wie man offline MySQL installiert und mit Access per ODBC ansteuert ist
> mir klar. Die Frage ist nur, wie der Datenaustausch mit dem Internet
> geschickt geregelt wird.
>
> - was ist der optimale Weg?
> - wie gehe ich genau vor?
>

Man könnte vermuten, dass Du in dev.mysql.com/doc die Kapitel über
Replikation nachlesen möchtest. Sicher bin ich mir aber nicht.

Re: mySQL-Datenbank mit Offline-Frontend

am 23.10.2005 14:06:32 von Hartmut Holzgraefe

Christian Kirsch wrote:
> scholle wrote:
>> Ein Kunde wünscht sich, die im Internet bei einem Provider
>> installierte MySQL-Datenbank offline abzufragen,=20
..
> Man könnte vermuten, dass Du in dev.mysql.com/doc die Kapitel über
> Replikation nachlesen möchtest. Sicher bin ich mir aber nicht.

Replikation wird vermutlich nicht funktionieren da Provider i.A.
(aus gutem Grund) die Datenbank-Ports nicht nach außen freigeben.

Daher hilft wohl nur: regelmäßige Dumps (zB mit phpMyAdmin) die
dann auf dem 'offline'-System zur Auswertung wieder eingespielt
werden

--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com

Re: mySQL-Datenbank mit Offline-Frontend

am 23.10.2005 15:13:59 von Mike Lischke

Hartmut Holzgraefe wrote

>Replikation wird vermutlich nicht funktionieren da Provider i.A.
>(aus gutem Grund) die Datenbank-Ports nicht nach außen freigeben.

Könnte man da nicht was mit SSH machen?

Mike
--
Mike Lischke, Software Engineer GUI
MySQL AB, www.mysql.com

Are you MySQL certified? www.mysql.com/certification

Re: mySQL-Datenbank mit Offline-Frontend

am 23.10.2005 16:22:42 von Hartmut Holzgraefe

Mike Lischke wrote:
>> Replikation wird vermutlich nicht funktionieren da Provider i.A.
>> (aus gutem Grund) die Datenbank-Ports nicht nach außen freigeben.
>=20
> Könnte man da nicht was mit SSH machen?

SSH-Zugänge hat man bei übliche Provider-Packeten auch eher selten,
und selbst wenn kann es sein das Port Forwarding deaktiviert ist ...
Und auch das aktivieren des Replikations-Logs oder das Einrichten
eines Replikations-Users ist zumindest bei shared Installationen
wohl eher weniger möglich.

--=20
Hartmut Holzgraefe, Senior Support Engineer .
MySQL AB, www.mysql.com

Re: mySQL-Datenbank mit Offline-Frontend

am 24.10.2005 11:39:11 von Christian Schmelzer

scholle wrote:
> Hallo, Gurus!
>
> Ein Kunde wünscht sich, die im Internet bei einem Provider
> installierte MySQL-Datenbank offline abzufragen, um Auswertungen
> vorzunehmen. Er möchte Access als Frontend benutzen, um die
> Auswertungen selbst zu gestalten.
>
> Wie man offline MySQL installiert und mit Access per ODBC ansteuert
> ist mir klar. Die Frage ist nur, wie der Datenaustausch mit dem
> Internet geschickt geregelt wird.
>
> - was ist der optimale Weg?
> - wie gehe ich genau vor?
>
> Vielen Dank für Eure Antworten!
> Michael Scholz

Hallo,
in der letzten ct oder ix ging es genau darum. Im Endeffekt einen SSH Tunnel
zum Server aufbauen. Hab den Artikel nur überflogen. Ob dein Provider so
etwas unterstützt, bzw ob du einen Rootserver hast, musst du selber wissen.

Gruß,
Christian

Re: mySQL-Datenbank mit Offline-Frontend

am 24.10.2005 17:17:11 von scholle

Hallo, Hartmut!

Sehe, Du bist Senior Support Engineer bei MySQL AB. Habe mich wohl
unglücklich ausgedrückt. Also: Die MySQL-Datenbank wird vom Internet
Provider zur Verfügung gestellt. Der Kunden und seine Mitarbeiter
sammeln über die Web-Anwendung, geschrieben in PHP, fleissig ihre
Daten. Jetzt möchte der Abteilungsleiter die Daten gerne aus dem
Internet runterladen und per Microsoft Access auswerten. Die Frage ist,
wie man solche Downloads elegant realisiert. Natürlich kenne ich den
mysqldump. Ist das aber bei größeren Datenmengen wirklich der einzige
Weg? Gibt es hier irgendwelche Erfahrungswerte?

Re: mySQL-Datenbank mit Offline-Frontend

am 24.10.2005 17:29:54 von Dominik Echterbruch

scholle wrote:
>=20
> Jetzt möchte der Abteilungsleiter die Daten gerne aus dem
> Internet runterladen und per Microsoft Access auswerten. Die Frage ist,=

> wie man solche Downloads elegant realisiert. Natürlich kenne ich den
> mysqldump. Ist das aber bei größeren Datenmengen wirklich der einzi=
ge
> Weg? Gibt es hier irgendwelche Erfahrungswerte?

Ich habe hier ein ähnliches Problem (geht zwar um PostgreSQL, aber das =

tut ja nichts zur Sache). Meine Lösung dazu ist, daß ich nächtlich =

mehrere .csv Dateien erstellen lasse, die alle wichtigen Daten (z.T.=20
vorausgewertet) enthalten. Diese Dateien werden auf einem Server im Haus =

abgelegt und von Access für Auswertungen verwendet.

Die Vorteile:
- Der Abteilungsleiter kann nichts kaputt machen
- tagesaktuelle Daten
- recht performant, da die Daten nicht bei jedem Aufruf aufgearbeitet=20
werden müssen
- Einfach zu administrieren, da keine Aktion nötig ist, um die Daten zu=
=20
aktualisieren.

Nachteile:
- Änderungen sind nicht sofort sichtbar
- manchmal händischer Eingriff nötig, um die Daten auch am Tag zu=20
aktualisieren

Je nachdem, welche Zugriffsmöglichkeiten du hast, kannst du das ganze=20
auf unterschiedlichen Wegen realisieren. Ideal ist natürlich ein Zugrif=
f=20
über Netzlaufwerke (bei mir via smbfs gemountet), aber das darf man=20
verständlicherweise bei den meisten Providern nicht :)
Möglicherweise kannst du aber die Daten aktiv vom Server per FTP oder=20
SCP auf den "Client" übertragen.


Grüße,
Dominik
--=20
MonstersGame - Die Schlacht zwischen Vampiren und Werwölfen
http://spielwelt6.monstersgame.net/?ac=3Dvid&vid=3D3018786

Re: mySQL-Datenbank mit Offline-Frontend

am 24.10.2005 17:49:20 von axel.schwenke

scholle wrote:
> Hallo, Hartmut!

Wenn du mit Hartmut privat reden möchtest, dann schreib eine Email!

> Also: Die MySQL-Datenbank wird vom Internet
> Provider zur Verfügung gestellt.

Und das heißt genau? "Vom Provider zur Verfügung gestellt" kann so
ziemlich alles zwischen "ein Account zusammen mit 100 anderen Kunden auf
einem gemeinsam benutzten MySQL-Server" und "ein Rootserver mit vom
Provider eingerichtetem MySQL" liegen.

Je nachdem was das nun genau ist, wechseln deine Optionen. Für die
intelligenteren Ansätze a'la Replikation braucht man weitgehende
Kontrolle über den MySQL-Server. Hast du die?

> Der Kunden und seine Mitarbeiter
> sammeln über die Web-Anwendung, geschrieben in PHP, fleissig ihre
> Daten. Jetzt möchte der Abteilungsleiter die Daten gerne aus dem
> Internet runterladen und per Microsoft Access auswerten.

Wenn man die MySQL-Datenbank direkt oder indirekt (SSH-Tunnel) erreichen
kann, braucht man keine Kopie zu machen sondern geht über ODBC.

Wenn das nicht möglich (oder gewünscht) ist, muß man kopieren. Und zwar
entweder immer die gesamte Datenbank -> mysqldump oder nur die
Änderungen seit dem letzten Abgleich -> Replikation.

> Die Frage ist,
> wie man solche Downloads elegant realisiert. Natürlich kenne ich den
> mysqldump. Ist das aber bei größeren Datenmengen wirklich der einzige
> Weg?

Mysqldump ist sicher nicht der *einzige* Weg. Aber wenn man komplette
Kopien machen will, ist es vermutlich der sinnvollste Weg. Ein kleines
PHP-Skript mit "passthru('/pfad/zu/mysqldump -u... -p... $db')" auf dem
Server reicht schon.

Wenn es dumm kommt, bietet dir dein Provider aber nichtmal mysqldump.
Dann mußt du dessen Funktionalität nachbilden. Oder gleich phpMyAdmin
nehmen.


XL

Re: mySQL-Datenbank mit Offline-Frontend

am 26.10.2005 23:33:53 von Theodor.Isporidi

Hallo !

In a message of 23.10.2005 Hartmut Holzgraefe wrote to All about Re:
mySQL-Datenbank mit Offline-Frontend:

>>> Replikation wird vermutlich nicht funktionieren da Provider i.A.
>>> (aus gutem Grund) die Datenbank-Ports nicht nach außen freigeben.

>> Könnte man da nicht was mit SSH machen?

> SSH-Zugänge hat man bei übliche Provider-Packeten auch eher selten,

Ist leider wahr. Aber ich achte schon langem darauf das die Provider
bei denen ich hoste SSH unterstützen. Und ich administriere meine
Datenbanken schon seit einigen Jahren auschließlich über grafische
Frontends durch einen SSH Tunnel.

Es gibt sehr gute freie Frontends und Administrationstools für Windows,
wie z.B. Free Mascon
(http://download.scibit.com/software/mascon/FrMsc203.exe) (Welches aber
schon etwas veraltet ist, ich glaube nicht das die Features der
neuesten MySQL Versionen noch unterstützt werden.), SQLyog free
(http://www.webyog.com/sqlyog/index2.php) (Das wird aktuell gehalten.
Es gibt auch eine Enterprise Version mit noch mehr Features.) und
DBDesigner 4 (http://fabforce.net/dbdesigner4/) (grafisches Design von
Datenbanken, inklusive Reverse Engineering bestehender Datenbanken,
ER-Diagramme, etc.).

Letzteres wird dir wohl was sagen, der Programmierer davon arbeitet
mittlerweile für MySQL am Nachfolger vom DBDesigner, namens MySQL
Workbench.

Wer bereit ist auch etwas für gute Frontends zu bezahlen, dem stehen
noch weitere Auswahlmöglichkeiten zur Verfügung, wie z.B. Navicat.
(http://www.navicat.com/).

Ich kann den direkten Zugriff auf eine MySQL Datenbank per grafische
Frontends über SSH Port Forwarding jedem nur wärmstens ans Herz legen.
Funktioniert erstklassig.

> und selbst wenn kann es sein das Port Forwarding deaktiviert ist ...

Wäre zwar theoretisch möglich, aber ich habe noch nie gesehen das es
abgedreht wurde, wenn SSH prinzipiell unterstützt wird.

Bye !

Key fingerprint = 67 EE 0B D6 52 0A F0 3E E3 C7 1A 88 24 B0 EF C8

<<< PGP 2.6.3i Public Key auf Anfrage. >>>

Re: mySQL-Datenbank mit Offline-Frontend

am 29.10.2005 03:24:33 von Dirk Richter

"scholle" wrote:

>[..]
>Wie man offline MySQL installiert und mit Access per ODBC ansteuert ist
>mir klar. Die Frage ist nur, wie der Datenaustausch mit dem Internet
>geschickt geregelt wird.

Wenn der direkte Zugriff auf die MySQL DB durch den Provider blockiert
wird, kann ich Dir auch ein ActiveX Control empfehlen, das ich
entwickelt habe und das man direkt auch unter Access nutzen kann.

Die Zugriffe auf die MySQL DB werden über PHP getunnelt (gzipt und
verschluesselt).

Demnaechst biete ich auch noch eine Anwendung unter Windows an, um
MySQL Tabellen, die auch direkt remote im Web auf einem MySQL Server
liegen, in eine beliebige Tabelle (Access, Excel, Text oder ander per
ADO Connction erreichbare DB) kopieren kann.

Viele Gruesse
Dirk Richter

Browse, edit and backup your MySQL Database
Tools and ActiveX Controls
http://www.richtsoft.com