suche Mini-MySQL Server...

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MariaDB/MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

So nebenbei... Kennt jemand eine Mini-MySQL-Server für Windows, den man ohne installation einfach mal so als Programm laufen lassen kann??? (also quasi xampp nur mit MySQL ;) )

Kombiniert man das mit dem Python-CGI-Server könnte ich damit eine lokale Testmöglichkeit für PyLucid schaffen, ohne aufwendige Installation auf einem Server :lol:

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

jens hat geschrieben:Mini-MySQL-Server
Nicht Mini-MySQL-Server, aber Mini-SQL-Server (naja nicht wirklich Server aber egal): PySQLite.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

PySQLite würde aber spontan nicht mit dem MySQLdb-Modul laufen, oder??? Ich will (noch) kein zusätzliche DB-Anbindung in PyLucid einbauen...

Ich hab mir XMAPP lite angeschaut... Dort ist ein Verz. mysql worin der Server abgelegt ist.
Das ganze ist so 7,3MB groß... Wenn man es mit UPX packt, bleiben nur ca. 2,8MB übrig :shock:
im /bin/ Verzeichnis sind ein paar Dateien:
my.cnf
mysql.exe
mysqladmin.exe
mysqld-nt.exe
mysqld.exe
mysqldump.exe
mysqlshutdown.exe
winmysqladmin.cnt
winmysqladmin.exe
Von denen werden evtl. auch nicht alle wirklich verwendet...


Ich hab aber trotzdem alle zusammen mit 7zip gepackt... Das ganze ist dann noch 2,5MB groß... Ist also nicht ganz soviel... Für ein lokalen Test von PyLucid eignet es sich schon...

Vorstellen könnte ich mir, das man nur die test.py startet, der den Python-CGI- + SQL-Server startet, den Webbrowser aufruft mit der URL...

Wäre eigentlich eine nette Sache... (Wobei die neue PyLucid v0.4 auch noch nicht ganz fertig ist...)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Naja, du kannst dir ja ein dummy Modul schreiben:

mysqldb_dummy.py und es dann als MySQLdb Modul importieren, und im Modul die Aufrufe an PySQLite weitergeben, das sollte trivial sein, da PySQLite auch DB-API 2 konform ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Hm! Es ist eh so, das i.d.R. alle Zugriffe auf die DB über meinen MySQLdb_wrapper gehen! Somit hab ich die möglichkeit an zentraler Stelle die Anbindung zu ändern...

Mal sehen...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

So ein Modul an eine DB API 2 konforme Datenbank anzupassen sollte keine große Sache sein, außer du nutzt lauter MySQL-only Features.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Leonidas hat geschrieben:außer du nutzt lauter MySQL-only Features.
Das denke ich nicht, es kommt also auf ein Versuch an... Obwohl es mir unter den Fingernägeln brennt, hab ich momentan keine Zeit dafür... Vielleicht im laufe der nächsten Woche...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Hab mir kurz SQLite und PySQLite angeschaut... Ist vielleicht garnicht schecht, weil's wesendlich kleiner ist, als MySQL ;)

Dabei ist mir eine Abgefahrene Idee eingefallen: Man könnte natürlich auch eine komplette Offline Version von PyLucid backen, die Out-of-the-Box läuft... Für Leute die nur einen normalen Webspace haben ohne Skriptsprachen, könnte man ein Modul schaffen um alle lokalen Seiten aus der lokalen DB per FTP auf diesen Webspace kopiert und automatisch verlinkt...

Ist vielleicht für manche Leute eine Interessante Sache...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Und für alle Leute ohne C-Compiler ein Gadfly-Backend ;)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

So, ich hab nun einen Snapshot von PyLucid Standalone mit MySQL-Server gemacht: http://sourceforge.net/project/showfile ... _id=356283

Das ganze läuft nur unter Windows, weil ich den Windows MySQL-Server aus dem XAMPP Paket genommen hab.

Das ganze funktioniert so, das man den MySQL-Server zuerst mit "MySQL-Server start.cmd" starten muß. Danach kann man den Python-Server mit "PyLucid START standalone.cmd" starten. Dieser öffnet automatisch den Browser.

Beim einloggen (PyLucid Username: "root", PyLucid Passwort: "Nopassword") gibt es allerdings Probleme :( siehe: http://www.python-forum.de/viewtopic.php?p=23541#23541

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Leonidas hat geschrieben:Und für alle Leute ohne C-Compiler ein Gadfly-Backend ;)
Das versuche ich gerade... Aber ich glaub, da gibt's auch kein dict.cursor, oder???

EDIT: Das scheind wohl das kleinere Problem zu sein... Das größere ist wohl, das Gadfly nur ODBC 2.0 SQL kann... Ich kenn mich da nicht so aus, aber nach der Tabelle zu urteilen, ist die "SQL-Sprache" doch ein wenig anders:
http://www.torsten-horn.de/techdocs/sql ... Datentypen

Somit ist MySQL == JDBC und Gadfly halt ODBC... Da ist ein int(11) ==> INTEGER(11) ?

Es scheint, also so, das ich den SQL-Dump ganz schön anpassen müßte, damit ich PyLucid installieren kann... Das ist allerdings nicht so praktikabel... Zumal die Standalone Version erstmal nur spielerrei ist :?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
BlackJack

jens hat geschrieben:
Leonidas hat geschrieben:Und für alle Leute ohne C-Compiler ein Gadfly-Backend ;)
Das versuche ich gerade... Aber ich glaub, da gibt's auch kein dict.cursor, oder???
Das gehört eben nicht zur DB API.
EDIT: Das scheind wohl das kleinere Problem zu sein... Das größere ist wohl, das Gadfly nur ODBC 2.0 SQL kann... Ich kenn mich da nicht so aus, aber nach der Tabelle zu urteilen, ist die "SQL-Sprache" doch ein wenig anders:
http://www.torsten-horn.de/techdocs/sql ... Datentypen

Somit ist MySQL == JDBC und Gadfly halt ODBC... Da ist ein int(11) ==> INTEGER(11) ?
Es gibt kein "ODBC 2.0 SQL". JDBC und ODBC sind einfach nur zwei Anbindungsarten um mit Programmen auf Datenbanken zuzugreifen wie eben die "Python DB API 2.0". Wie die Datentypen heissen wird von den Datenbanken festgelegt. Die sollten sich eigentlich an den SQL Standard halten, tun es aber nicht. Wobei der Standard sowohl `int` als auch `integer` kennt. MySQL übrigens auch.
Es scheint, also so, das ich den SQL-Dump ganz schön anpassen müßte, damit ich PyLucid installieren kann... Das ist allerdings nicht so praktikabel... Zumal die Standalone Version erstmal nur spielerrei ist :?
Man muss möglichst beim Entwurf der Datenbank schon darauf achten nur Standard SQL zu verwenden, das von den meisten Datenbanken unterstützt wird.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ich möchte nochmal die Ursprüngliche Frage aufwerfen, denn ich hab von embedded MySQL gelesen: http://dev.mysql.com/doc/refman/5.0/en/libmysqld.html

Das ganze ist eigentlich für C gedacht: http://ftp.osuosl.org/pub/mysql/tech-re ... erver.html

Allerdings gibt es bei http://www.transana.org/developers/setu ... on_Win.htm zumindest eine Beschreibung wie man eine Art "embedded MySQL für Python" hinbekommen kann :)
Ich weiß PySQLite ist eigentlich die nähere Wahl. Aber leider ist PyLucid noch immer nicht SQLite kompatibel :(

Bei der nächsten Gelegenheit werde ich mir das von transana anschauen. Hat das jemand von euch schon getan??? Oder kennt jamand eine andere Quelle?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten