staging.inyokaproject.org

Erklärung der Grundlagen von MySQL gesucht

Status: Ungelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

DietmarBi

Anmeldungsdatum:
31. Dezember 2011

Beiträge: 278

Hallo Forum,

jetzt google ich schon tagelang und bin immer noch so schlau wie zuvor. Vielleicht kann mich hier jemand bei der Einarbeitung in MySQL unterstützen.

Ausgangslage: Ich führe für meinen Verein die Mitgliegerdatei. Ich habe diese in einer MS-Access-Datenbank mit mehreren Tabellen gespeichert. Da die Datenbank nur auf meinem PC (Betriebssystem Win 10 und Office 2010) gespeichert ist hat kein anderer „Funktionsträger“ Zugriff auf die Daten. Stattdessen erstelle ich von Zeit zu Zeit PDF-Versionen eines Access-Reports die ich diesen Leuten zur Verfügung stelle. Das ist für mich ein unhaltbarer Zustand. Stattdessen sollten die o. g. Personen direkten Zugriff auf die Mitgliederdaten haben. Ich stelle mir vor, dass die Daten auf der Homepage des Vereins gespeichert sind und die berechtigten Personen Abfragen starten können die auf die Orginaldaten zugreifen. Im Prinzip könnte das sicher mit MS-Access funktionieren. Ich müsste dazu die Datenbank nur in Front- und Backend teilen. Da es sich bei den Daten aber um persönliche Daten handelt erscheint diese Vorgehensweise nicht besonders sicher.

Bei meinen bisherigen Recherchen bin ich auf MySQL gestoßen. Es läuft offenbar unter Windows und Linux, macht es scheinbar möglich eine Datenbank im Internet zu pflegen und soll sicher gegen unbefugte Nutzung sein. Vor allem die Nutzung unter Linux reizt mich; denn längerfristig möchte ich einfach von MS-Produkten unabhängig werden.

Leider habe ich noch absolut keine Erfahrung mit SQL-Anwendungen. Deshalb habe ich schon Schwierigkeiten die meisten der Informationen in Internet zu verstehen. Wie schon oben geschrieben nutze ich MS-Access. Access arbeitet auch mit einen SQL-Dialekt um Abfragen zu definieren. Ich gehe zwar davon aus, dass sich diese Abfragen von MySQL unterscheiden, das Grundprinzip sollte aber ähnlich sein.

Meine Probleme beginnen schon wesentlich früher. Ich habe bisher von SQL-Servern, WEB-Anwendungen, Bedienoberflächen usw. gelesen und bin deshalb ziemlich frustriert. Ich möchte ja erst einmal klein anfangen. Eine SQL-Datenbank auf der Festplatte meines PCs anlegen, Tabellen erstellen und füllen (evtl. mit Daten aus meiner Access-Datenbank) und die ersten Abfragen erstellen.

Ist so ein Vorgehen überhaupt denkbar? Was muss ich, wann und warum installieren? Oder solle ich mich doch lieber nach div Fachbüchern umsehen?

Freue mich jedenfalls schon auf Eure Tipps.

Viele Grüße

Dietmar

Moderiert von Cruiz:

Keine konkrete Supportanfrage.

Thomas_Do Team-Icon

Moderator
Avatar von Thomas_Do

Anmeldungsdatum:
24. November 2009

Beiträge: 8808

DietmarBi schrieb:

Hallo Forum,

jetzt google ich schon tagelang und bin immer noch so schlau wie zuvor.

Das gefällt Dir nicht?

senden9

Avatar von senden9

Anmeldungsdatum:
8. Februar 2010

Beiträge: 965

Eventuell könnte MySQL Workbench beim Durchforsten der Datenbank hilfreich sein. Davor muss natürlich eine Datenbank wie MySQL, MariaDB oder PostgreSQL installiert und konfiguriert werden.

Mankind75 Team-Icon

Lokalisierungsteam
Avatar von Mankind75

Anmeldungsdatum:
4. Juni 2007

Beiträge: 3374

Also ich persönlich finde, dass sich SQL lernen generell lohnt. Relationale Datenbanken sind ja sehr weit verbreitet und mir persönlich macht es Spaß, einer Datenbank präzise Informationen zu entlocken. Da nutze ich dann auch mal gerne den Kommandozeilenclient.

Ab und an kommen dann mal neue Features hinzu (z.B. der JSON-Datentyp in MySQL 5.7) und die Syntax von MySQL und anderen Datenbanksystemen unterscheidet sich ein wenig, z.B. wenn man "stored procedures" schreibt. Dies ist aber eher ein fortgeschrittenenes Thema.

Bezüglich Sicherheit wird MySQL halt ohne Passwort für den root-Benutzer ausgeliefert. Unter ubuntu wird aber während der Installation von MySQL aber ein Dialogfenster eingeblendet wo man das setzen kann. Der MySQL-Befehl zum Setzen von Privilegien heisst GRANT. Näheres findest Du in der offiziellen MySQL-Dokumentation.

Bezüglich der Bücher kann ich das MySQL-Tutorial von MySQL-Press sehr empfehlen. Es ist zwar nicht mehr ganz taufrisch und behandelt noch Version 4 aber wenn man täglich ein Kapitel abarbeitet bekommt man schon einen sehr guten Einblick in MySQL.

Bezüglich Access müsste es doch auch ODBC-Treiber geben, dass man Access als Frontend für den Datenbankserver nimmt. In LibreOffice Base ist auch ein nativer MySQL-Treiber vorhanden.

verdooft

Anmeldungsdatum:
15. September 2012

Beiträge: 4450

Kommt auch drauf an, wieviele/wie oft Datensätze hinzufügt/geändert/gelöscht werden. Ich verwende bisher die Mysql-Shell für Mailkonten, Aliase usw.. Möchte ich etwas erledigen, das ich gerade nicht kann, recherchiere ich kurz im Web.

z.B. datensatz löschen mysql shell

Damit lande ich auf http://mysql.lernenhoch2.de/lernen/mysql-anfanger/delete-daten-loschen/ und lösche den Datensatz.

Vielleicht installiere ich dazu auch wieder phpMyAdmin. Ich erinnere mich dunkel, dass man dort auch die SQL Anweisungen bei Aktionen sieht.

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7795

Wenn es am Ende eh eine Webseite werden soll, kannst du da auch direkt arbeiten, also auf deinem Webspace der mit MySQL, und irgendeiner Scriptsprache kommt. Das mit dem MySQL-Server zuhause, macht man dann eigentlich gar nicht.

Wenn es keine Webseite sondern ein Programm werden soll das direkt am PC läuft, dann wäre vielleicht auch SQLite einen Blick wert, da musst du dann eben die ganze Datenbank mitschicken aber anders als bei MySQL keine Server mit Zugangsname und Passwörtern einrichten.

Die mysql Shell als Terminalprogramm finde ich jetzt weniger spassig, dann lieber gleich mit der Programmiersprache deines Vertrauens...

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17630

DietmarBi schrieb:

Meine Probleme beginnen schon wesentlich früher. Ich habe bisher von SQL-Servern, WEB-Anwendungen, Bedienoberflächen usw. gelesen und bin deshalb ziemlich frustriert. Ich möchte ja erst einmal klein anfangen. Eine SQL-Datenbank auf der Festplatte meines PCs anlegen, Tabellen erstellen und füllen (evtl. mit Daten aus meiner Access-Datenbank) und die ersten Abfragen erstellen.

Sehr vernünftig. Das letzte Mal, als ich es benutzte, hatte MS-Access auch eine SQL-Ansicht, in der man die Abfragen, die man erstellt hat, als SQL ansehen konnte, und auch bearbeiten konnte, wenn auch in einem furchtbaren Format ohne alle Umbrüche, Einrückungen, Syntaxhighlightening und in einer übergeschwätzigen, abstoßenden Ausführlichkeit.

Auf der anderen Seite konnte man externe Datenbanken - zumindest Postgresql - anbinden. Ob das auch mit MySql geht, und ob man dann die Daten einfach von hier nach da schaufeln kann (kopieren) weiß ich aber nicht.

Ist so ein Vorgehen überhaupt denkbar? Was muss ich, wann und warum installieren? Oder solle ich mich doch lieber nach div Fachbüchern umsehen?

Fachbücher sind auf jeden Fall empfehlenswert, am ehesten würde ich empfehlen etwas mit dem Anspruch zu suchen, relationale Datenbanken prinzipiell zu beschhreiben, welches MySql nur als Beispiel verwendet. Ganz abraten würde ich von MS-Access, weil es so konstruiert ist, dass es den Verwender so gut es geht an das Produkt bindet.

Die Datenbank im Netz verfügbar zu machen erfordert aber ein umfangreiches Wissen in Bezug auf die Datenbank, auf das Betriebssystem, Programmierung und Netzwerksicherheit. Böswilliger Vandalismus wie Datenlöschung ließe sich mit regelmäßigem Backup noch leicht vorbeugen, aber das Ausspähen privater Daten zu verhindern dürfte nicht so leicht, wenn Dritte Zugang bekommen sollen.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

DietmarBi schrieb:

Ich habe bisher von SQL-Servern, WEB-Anwendungen, Bedienoberflächen usw. gelesen und bin deshalb ziemlich frustriert. Ich möchte ja erst einmal klein anfangen. Eine SQL-Datenbank auf der Festplatte meines PCs anlegen, Tabellen erstellen und füllen (evtl. mit Daten aus meiner Access-Datenbank) und die ersten Abfragen erstellen.

Ich würde LibreOffice Base erwägen. Da hast Du ähnlich zu MS Access die ganze Lösung in einer Datei und brauchst keinen separaten Datenbankserverprozess (was Du für MySQL bräuchtest). Das Datenvolumen scheint ja auch nicht so groß zu sein.

senden9

Avatar von senden9

Anmeldungsdatum:
8. Februar 2010

Beiträge: 965

Bezüglich Online: Es gibt spezialisierte Software wie z.B. ClubDesk (gratis für bis zu 200 Mitglieder). Hast du schon mal darüber nachgedacht so etwas einzusetzen? Je nachdem ob du etwas Erfahrung mit Datenbanken sammeln willst oder einfach nur dein Problem lösten möchtest (und dafür die Daten aus der Hand gibst).

(Ich habe diese Software nie getestet. Sie sah nach einer kurzen Recherche Preis/Feature-mäßig einfach am Besten aus.)

DietmarBi

(Themenstarter)

Anmeldungsdatum:
31. Dezember 2011

Beiträge: 278

Hallo miteinander,

inzwischen habe ich mir über das Ubuntu Software-Center den MySQL-Server und MySQLWorkbench installiert.

Den Server habe ich schon gestartet und ein paar Befehle ausprobiert. Er ist gewöhnungsbedürftig aber die Befehle dürfte ich irgendwann sicher beherrschen.

Der Workbench kommt mir aber momentan wie ein Buch mit sieben Siegeln vor. Ich habe vor vielen Jahren zwar Englisch gelernt, mir fehlte aber bisher die Praxis und vor allem der Spaß an dieser Sprache. Gibt es denn nicht eine graphische Bedienoberfläche für MySQL die entweder komplett in Deutsch arbeitet oder wenigstens für mich verständlich ist (also weniger IT-Englische Abkürzungen)?

Oder stelle ich da zu große Ansprüche. Ich bin halt das Kästchenschieben von Access gewöhnt.

Viele Grüße

Dietmar

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13242

DietmarBi schrieb:

Oder stelle ich da zu große Ansprüche. Ich bin halt das Kästchenschieben von Access gewöhnt.

Ich wiederhole mich: LibreOffice Base ist dasjenige Produkt, was Access am nächsten kommt.

kim88

Avatar von kim88

Anmeldungsdatum:
7. Juni 2007

Beiträge: 357

Eine grafische Oberfläche für MySQL ist z.B. phpmyadmin - das kannst du direkt über die Quellen installieren.

Ich will dir aber gleich sagen, das ich das nicht mit MySQL Datenbanken machen würde. Bzw. nicht so. MySQL Datenbanken laufen in der Regel auf Servern und Anwendungen greifen dann auf die Datensätze zu. Z.B. hier das Forum die Einträge sind in der Datenbank gespeichert und die Forensoftware greift entsprechend auf die Einträge zu. (Kann durchaus sein, das Ubuntuusers eine andere DB verwendet - soll nur zur Veranschaulichung dienen.

Wenn du also möchtest, dass alle Mitglieder vom Verein / Vorstand auf die Daten zugreifen können bringt eine MySQL Installation auf deinem Rechner eigentlich gar nichts. Ausser du willst dienen Rechner so konfigurieren das alle von aussen zugreifen können, etc. Soetwas sicher und vernünftig zu organisieren ist allerdings - schwierig und umständlich.

PHPmyAdmin ist eine einfache und tolle Oberfläche für MySQL - wenn man sich damit ein bisschen auskennt. Ich habe natürlich keine Ahnung was für ein Verein du hier betreust aber ich würd emich davor hüten einem "Otto-Normal-Mensch" phpmyadmin vorzusetzen.

Da ihr offenbar sowiso eine Webseite habt würd ich mich mal darüber informieren wo die gehostet wird. Beinahe jedes Hostingangebot hat heute auch PHP und MySQL inbegriffen. Falls das so ist würde ich auf diesem Hosting, auf einer subdomain: z.B.: verwaltung.domain.de eine openSource CRM Software (Beispiele: vTiger, suiteCRM, sugarCRM, oder andere) installieren. Dann kann diese CRM Software im Hintergrund auf die MySQL Datenbank zugreifen und ihr habt eine schöne Weboberfläche wo sich jeder einloggen und Daten bearbeiten kann.

Das ist mal so meine Idee. Fall ihr Hilfe oder so bei der Installation braucht kannst du mich direkt (bitter per PN, ich bin nicht so oft im Forum) anschreiben.

LG

kim88

Antworten |