Kein Bild
Programmierung

MYSQL Zugriffsrechtesystem

Bei den MYSQL Datenbanken gibt es wie man sich schon denken kann ein Rechtesystem. Mit diesem kann geregelt werden das nicht jeder alle Daten sehen bzw. ändern oder löschen darf. Das Zugriffssystem von MYSQL ist in zwei Stufen unterteil. Die erste Zugriffsstufe ist dafür zuständig um zu schauen ob ein Benutzer überhaupt mit MYSQL kommunizieren darf. In der zweiten Zugriffstufe wird geregelt welch Befehle ein User bei welche Datenbank, Tabelle und Spalte ausführen darf. MYSQL wertet beim Login eines Benutzers 3 Informationen aus und zwar den Benutzernamens, das Passwort und den Hostnamen (Rechnername). Bei einer Benutzeranmeldung werden dann diese 3 Informationen geprüft ob sie mit den in der MYSQL Datenbank gespeicherten Login Daten überein stimmen und wenn dem so ist kann der Benutzer die für ihn freigegebenen Datenbanken sehen und bearbeiten. Die MYSQL Zugriffsrechte kann man mit ein paar Befehlen steuern oder wenn man es etwas komfortabler haben möchte gibt es dafür auch Programme mit einer grafischen Oberfläche oder einem Webinterface. Aber damit man das Rechtesystem von MYSQL erst einmal versteht ist es finde ich gut wenn man sich die Befehle einmal genauer anschaut. Daher habe ich hier eine kleine Befehlsübersicht zum erstellen, löschen und verwalten der Rechte von den Benutzern erstellt: CREATE USER test@localhost IDENTIYFIED BY ‚pass‘ Mit diesem Befehl wird ein User mit dem Benutzernamen “test” und dem Passwort “pass” angelegt. SHOW GRANTS FOR test@localhost Zeigt die Berechtigungen des Benutzers “test” an, wenn ihr davor den oben stehenden Befehl eingegeben habt darf der User “test” sich nur einloggen aber hat keine weiteren Rechte. DROP USER test@localhost Löscht den User “test”. GRANT ALL ON *.* TO test@localhost Gibt dem Benutzer “test” Globale Berichtigungen für alle Datenbanken auf dem Server. GRANT ALL ON testdb.* TO test@localhost Gibt dem Benutzer “test” alle Rechte für die Datenbank “testdb”. GRANT SELECT ON testdb.Tab […]

Kein Bild
Portable Programme

Xampp – der lokale Webserver

Ich hatte ja bereits über das Programm USBWebserver berichtet mit welchem man sich sehr einfach einen Lokalen Webserver einrichten kann. In diesem Artikel stelle ich euch jetzt eine Alternative zu dem USBWebserver vor, und zwar den Xampp. Der Name setzt sich wie folgt zusammen das X steht dafür das der Xampp auf verschiedenen Betriebssystemen einsetzt werden kann. Das a kommt daher das dort als Webserver der Apache eingesetzt wird, das m steht dafür das ein MySQL Server für die Datenbank zuständig ist. Die beiden P’s stehen für die Scriptsprachen PHP und Perl. Das Programm eignet sich vor allem für den Hausgebraucht wenn man auf dem Lokalen Rechner nur ein neues CMS (Content Management System) ausprobieren möchte. Oder ein Script geschrieben hat und es zunächst bei sich auf dem heimischen Rechner ausprobieren möchte bevor man er online stellt. Aber wichtig ist das man dieses System in der Grundinstallation nicht im Internet auf dem eigenen Server verwendet. Denn die Sicherheitseinstellungen beim Xampp sind standardmäßig ziemlich gering einstellt. Das ist dafür gedacht das man in seiner Entwicklungsumgebung aber einige Dinge recht einfach testen kann. Es ist denkbar einfach Xampp auf eurem System zu installieren, auf der Downloadseite findet ihr die Versionen für die unterschiedlichen Betriebssysteme. Ich gehe jetzt einfach einmal davon das aus die meisten von euch Windows als Betriebssystem verwenden, wenn dem so ist könnt ihr hier direkt auf die Seite gehen um die Windows Version herunter zu laden. Wenn ihr nicht so viele Dienste bzw. Funktionen benötigt könnt ihr euch auch einmal Xampp Lite anschauen das ist eine kleinere abgespecktere Version. Wenn ihr Xampp dann heruntergeladen habt installiert ihr es oder entpackt das Zip Archiv. Anschließend startet ihr die “setup_xampp.bat” in dem Fenster welches sich dann öffnet befolgt ihr die vorgebenden Schritte. Danach öffnet ihr das Xampp Controll Panel mit einem […]

Kein Bild
Portable Programme

MySQL Query Browser – Programm zur Datenbankadministration

In dem Artikel zu den SQL Befehle wurde in den Kommentaren gefragt welches Programm ich zum Ausführen der MYSQL Befehle benütze. Ich hatte diese Frage zwar schon kurz in den Kommentaren beantwortet aber ich möchte jetzt doch noch in einem extra Artikel auf das verwendete Programm eingehen. Hierbei handelt es sich um den MySQL Query Browser, dieses Programm wird kostenlos auf der offiziellen MYSQL Homepage angeboten. Der Query Browser wird als Linux, MAC OSX und Windows Version angeboten. Für Windows findet ihr auf der Homepage eine Variante zum Installieren und auch eine Portable Version. Wenn ihr das Programm dann installiert oder entpackt habt startet ihr die “MySQLQueryBrowser.exe” dann bekommt das Login Fenster zu sehen. Dort gebt ihr die Adresse von eurem Host den Port und euren Usernamen und das entsprechende Passwort ein, das Ganze bestätigt ihr dann mit dem OK Button und schon seit ihr eingeloggt. Jetzt könnt ihr auf der rechten Seite bei Schemata eine Datenbank per Doppelklick auswählen. Anschließend gebt ihr in dem Abfragenbereich eure MYSQL Befehle ein und bekommt die Ausgabe in dem Feld darunter angezeigt. Bei den Ausgaben könnt ihr auch einfach über den Knopf bearbeiten die Feldinhalte editieren und speichern so sind kleine Änderungen in einer Datenbank kein Problem und schnell erledigt. Solltet ihr einmal das Problem haben das euch ein bestimmter MYSQL Befehl nicht einfällt wird euch auf rechts unten bei dem Programm ein Feld angezeigt bei dem es den Reiter Syntax gibt. Dort werden euch die verschiedenen Befehle aufgelistet und mit einem Doppelklick darauf wird euch direkt die Hilfe mit einem Beispiel dazu angezeigt. Desweiteren bietet der MySQL Query Browser auch noch die Funktion das man sich die jeweiligen Befehle für eine Abfrage per Maus zusammen klicken kann. Dafür gibt es oben in der Menuleiste die Buttons Select, From, Where usw. man wählt […]

Kein Bild
Programmierung

SQL Datenbanken Befehle zum erstellen und bearbeiten von Datenbanken

Ich hatte ja bereits einen Artikel über die SQL Grundbefehle geschrieben, in dem ich darauf eingegangen bin, wie man Abfragen in einer Datenbank machen und diese Ausgaben filtern kann. In diesem Post gehe ich darauf ein, mit welchen MYSQL Befehlen ihr erst einmal eine Datenbank erstellen könnt und in dieser eine Tabelle eintragt. Des Weiteren werde ich noch die Befehle aufzeigen, mit welchen ihr die Datenbank wieder löschen oder auch eine komplette Datenbank mit einem Befehl leeren könnt. Wichtig ist aber, dass ihr diese ganzen Befehle am besten erst einmal auf einer Lokalen Datenbank ausprobiert und nicht an einer eurer Webseiten. Denn, wenn ihr dort sonst einen Fehler macht oder aus Versehen die falsche Tabelle löscht, wird eure Webseite vermutlich erst einmal nicht mehr funktionieren. Ihr müsstet dann viel Arbeit hinein stecken, um sie wieder lauffähig zu bekommen, daher, wie bei allen Dingen welche man neu lernt, sollte man es am besten in einer Testumgebung ausprobieren. So eine Testumgebung könnt ihr z.B. mit dem USBWebserver erzeugen welchen ich hier schon vorgestellt hatte. Befehl Funktion CREATE DATABASE  TestDB; Erstellt eine Datenbank mit dem Namen TestDB. CREATE TABLE Employee ( idEmployee INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, name VARCHAR (45) NULL, adresse VARCHAR (255) NULL, sex ENUM (‚m‘, ‚f‘) NULL, PRIMARY KEY (idEmployee) ); Erstellt eine Tabelle mit dem Namen Employee. In dieser Tabelle werden die Spalten idEmployee vom Typ Integer, die Spalten name (max. Zeichenlänge 45) und adresse (max. Zeichenlänge 255) vom Typ Varchar und die Spalte sex vom Typ Enum erstellt. Das NULL bei dem erstellen der Spalten steht dafür das diese auch leer sein dürfen. Das UNSIGNED bei idEmployee steht dafür das die Werte ohne Vorzeichen gespeichert werden, so das eine ID z.B. nicht negativ sein kann. Das AUTO_INCREMENT sorgt dafür das der Wert bei jedem Eintrag um 1 erhört […]

Kein Bild
Programmierung

SQL Datenbanken Einführung und Grundbefehle

Ich denke das Thema Datenbanken wird den meisten etwas sagen, oder man kann es sich aus dem Begriff heraus schon fast zusammen reimen. Das Wort besteht ja aus Daten und Banken, Daten ist ja irgendetwas gespeichertes was man wieder aufrufen kann. Ok eine Bank ist etwas etwas zum Sitzen oder man kennt es das man dort Geld einzahlen und wieder abheben kann. Bei den Datenbanken kann man das fast mit einer “normalen” Bank vergleichen, man gibt Daten ein und holt diese irgendwann wieder ab. Nur ist das jetzt nicht wie bei einem normalen Bankschalter das man dort hin geht und zu dem Bankangestellten sagt ich hätte gerne Betrag x von meinem Konto. Sondern man muss wie bei einer Programmiersprache die Richtigen Befehle für eine Abfrage kennen. Aber hier erst noch ein paar Worte wie eine Datenbank eigentlich aufgebaut ist. Eine Datenbank besteht aus mehren Tabellen und in diesen Tabellen gibt es verschiedene Spalten. Ich denke aber das ganze kann man an einem Beispiel am bestehen erkennen. Tabelle: TblArtikel ArtikelNr ArtikelBez HerstellerNr 01 Grafikkarte 22 02 USBStick 24 Tabelle: TblHersteller HerstellerNr HerstellerName 22 Hersteller 1 24 Hersteller 2 Bei diesem Beispiel sieht man das es 2 Tabellen gibt und zwar einmal TblArtikel und dann noch TblHersteller. Wenn man jetzt z.B. wissen möchte wie der die Bezeichnung von dem Artikel mit der Artikel Nummer 1 lautet braucht man einen Befehl dafür. So ein Befehl ist folgendermaßen aufgebaut, man gibt zuerst an welche Spalte aus einer Tabelle man sich anzeigen lassen möchte. Danach wird angegeben auf welche Tabelle man sich bezieht. Anschließend kann man noch Ausschlusskriterien angeben das nicht alle Zeilen angezeigt werden sondern z.B. nur eine bestimmte. Hier einmal die ganzen Befehle in einer Tabelle zusammen gefasst: Befehl Funktion Select * Select Spaltenname Select Spalte1, Spalte2 Mit dem Befehl Select wählt man […]