Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Einleitung
TEIL I: Einstieg in Linux
2 Die Installation
3 Erste Schritte
4 Linux als Workstation für Einsteiger
TEIL II: Grundlagen
5 Kernel
6 Grundlagen aus Anwendersicht
TEIL III: Die Shell
7 Die Shell
8 Reguläre Ausdrücke
9 Konsolentools
10 Die Editoren
11 Shellskriptprogrammierung mit der bash
12 Die C-Shell
TEIL IV: System- & Netzwerkadministration
13 Benutzerverwaltung
14 Grundlegende Verwaltungsaufgaben
15 Netzwerkgrundlagen
16 Anwendersoftware für das Netzwerk
17 Netzwerkdienste
18 Mailserver unter Linux
19 LAMP & Co.
20 DNS-Server
21 Secure Shell
TEIL V: Die grafische Oberfläche
22 Die grafische Oberfläche
23 Window-Manager und Desktops
24 X11-Programme
25 Multimedia und Spiele
TEIL VI: Systeminterna
26 Prozesse und IPC
27 Bootstrap und Shutdown
28 Dateisysteme
29 Virtualisierung und Emulatoren
TEIL VII: Programmierung und Sicherheit
30 Softwareentwicklung
31 Crashkurs in C und Perl
32 Einführung in Computersicherheit
33 Netzwerksicherheit überwachen
TEIL VIII: Anhang
A Lösungen zu den einzelnen Aufgaben
B Kommandoreferenz
C X11-InputDevices
D MBR
E Buch-DVDs
F Glossar
G Literatur
Stichwort
Ihre Meinung?

Spacer
Linux von Johannes Plötner, Steffen Wendzel
Das umfassende Handbuch
Buch: Linux

Linux
Rheinwerk Computing
1282 S., 5., aktualisierte Auflage 2012, geb., mit 2 DVDs
49,90 Euro, ISBN 978-3-8362-1822-1
Pfeil 19 LAMP & Co.
Pfeil 19.1 Apache
Pfeil 19.1.1 Module
Pfeil 19.2 MySQL
Pfeil 19.2.1 Administration
Pfeil 19.2.2 SQL
Pfeil 19.2.5 APIs
Pfeil 19.3 PHP
Pfeil 19.3.1 (X)HTML
Pfeil 19.3.2 PHP-Support im Apache aktivieren
Pfeil 19.3.3 PHP lernen
Pfeil 19.3.4 PHP und MySQL
Pfeil 19.4 Zusammenfassung
Pfeil 19.5 Aufgaben

Rheinwerk Computing - Zum Seitenanfang

19.2 MySQLZur nächsten Überschrift

Das »M« in LAMP steht für die freie Datenbank MySQL. Egal ob Webshop, Blog oder Auktionsbörse: Ohne Datenbank geht in der Regel nichts. Eine sehr gute Open-Source-Lösung ist MySQL. Diese Datenbank ist recht einfach zu administrieren und reicht vom Funktionsumfang her auch für größere Projekte noch aus.


Rheinwerk Computing - Zum Seitenanfang

19.2.1 AdministrationZur nächsten ÜberschriftZur vorigen Überschrift

Nach der Installation der entsprechenden Pakete aus der Distribution Ihrer Wahl stehen Sie schließlich vor der Frage, was Sie nun mit diesem Datending machen sollen. In der Regel ist die Datenbank nach ihrer Installation sofort einsatzbereit – es sei denn, die Distribution konfiguriert sie so, dass sie zum Beispiel nur für den lokalen Gebrauch nutzbar ist.

Eine solche Vorgehensweise wird zum Beispiel oft bei Debian oder Slackware angewandt, um dem unerfahrenen Benutzer keine potenziellen Gefahren frei Haus zu liefern. Wenn Ihre Datenbank also standardmäßig nur auf dem Loopback-Interface und damit nur lokal zu erreichen ist, wissen Sie zumindest, was Sache ist. Meist sind aber die entsprechenden Optionen in den zugehörigen Konfigurationsdateien ausführlich kommentiert, so dass im Fall von MySQL ein kurzer Blick in die Datei my.cnf das Problem lösen sollte.

mysql

Auf der Konsole!

In jedem Fall sollte das Tool mysql zur Administration lokal funktionieren. Alternativ kann man mittels der Option -h auch auf eine entfernte Datenbank zugreifen. In jedem Fall müssen Sie jedoch einen bestimmten Usernamen und ein Passwort für den Zugriff auf die Datenbank angeben:

Listing 19.19 Einloggen

$ mysql -h host -u user -p
Enter password: *******

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1090639
Server version: 5.0.51a-24+lenny5 (Debian)

Type 'help;' or '\h' for help. Type '\c'
to clear the buffer.

mysql>

Anschließend öffnet sich ein Prompt, und Sie können mit der Datenbank kommunizieren. Mit einem einfachen quit können Sie diese Shell wieder verlassen.

Eigene Benutzer

Um keine Verwirrung aufkommen zu lassen, möchten wir noch erwähnen, dass MySQL, wie viele andere komplexe Serverdienste auch, eine eigene Benutzerverwaltung besitzt. Die Usernamen und Passwörter sind also völlig getrennt von denen der auf Ihrem System konfigurierten Unix-Accounts.

[»]MySQL kann nicht nur mit unterschiedlichen Benutzern umgehen, sondern ihnen auch verschiedene Rechte gewähren. Der Datenbankadministrator heißt wie unter Unix üblich root. Wie bereits gesagt, hat er jedoch nichts mit dem Unix-root zu tun, und demzufolge hat er meistens auch ein anderes Passwort, das entweder bei der Paketinstallation gesetzt wurde oder aber »leer«, also nicht vorhanden, ist. [Fn. Ein Grund mehr, den Datenbankzugriff direkt nach der Installation über das Netzwerk nicht zu erlauben.]

Rheinwerk Computing - Zum Seitenanfang

19.2.2 SQLZur nächsten ÜberschriftZur vorigen Überschrift

Nachdem man sich mittels mysql mit der Datenbank verbunden hat, stellt sich die Frage, wie man mit ihr kommuniziert. Zu diesem Zweck gibt es eine von allen praxisrelevanten relationalen Datenbanken implementierte Sprache: SQL. Mit ihr kann man auf Datenbanken arbeiten: Tabellen anlegen, Daten einfügen und löschen sowie natürlich nach bestimmten Tupeln in der Datenbank suchen. Es ist sogar möglich, bestimmte komplexe Konsistenzbedingungen zu überwachen.

Erste Schritte

Um einen ersten Eindruck von SQL zu bekommen, kann man ein paar Standardwerte abfragen, die das Datenbanksystem auch ohne jede vordefinierte Tabelle bereithält. Solche Werte sind zum Beispiel das aktuelle Datum sowie die eingesetzte Version:

Listing 19.20 Einige Werte abfragen

mysql> SELECT VERSION(), CURRENT_DATE;
+--------------+--------------+
| version() | CURRENT_DATE |
+--------------+--------------+
| 3.22.20a-log | 2005-12-04 |
+--------------+--------------+
1 row in set (0.01 sec)

Datenbanken anlegen

Mehrere Anwendungen unterstützen

MySQL kann natürlich mehr als nur eine Datenbank verwalten. Zu einer Datenbank gehören in der Regel eine oder mehrere Tabellen, die wiederum bestimmte Spalten besitzen. Damit unterschiedliche Applikationen, die alle denselben Datenbankserver benutzen, sich mit ihren Tabellen nicht in die Quere kommen, kann MySQL – wie eigentlich jedes andere Datenbanksystem auch – mehrere Datenbanken unterscheiden. Eine neue Datenbank legt man dabei wie folgt an:

Listing 19.21 Datenbank anlegen

mysql> CREATE DATABASE test;

Diese Datenbank wollen wir nun im Folgenden auch benutzen, was wir mit folgender Direktive erreichen:

Listing 19.22 Eine bestimmte Datenbank benutzen

mysql> USE test;

Tabellen anlegen und füllen

Eine eigene Tabelle legt man wiederum mit dem Schlüsselwort CREATE an. Beim Erstellen einer Tabelle muss man auch immer gleich die zugehörigen Spalten samt ihres Typs und anderer Attributwerte angeben:

Listing 19.23 Eine Tabelle anlegen

mysql> CREATE TABLE adressbuch (
-> vorname VARCHAR(25),
-> nachname VARCHAR(25),
-> telefon VARCHAR(15));

[zB]In diesem Beispiel wurde ein einfaches Telefonbuch erzeugt, bei dem jeder Eintrag einen Vor- und Nachnamen sowie eine Telefonnummer besitzt. Alle Spalten haben im Beispiel denselben Datentyp: VARCHAR(25) bezeichnet Zeichenketten dynamischer Länge mit maximal 25 Buchstaben. Das Beispiel ist nicht sonderlich durchdacht, da es zu unschönen Effekten kommt, wenn zu einer Person beispielsweise zwei Telefonnummern gespeichert werden sollen. Aber solche Fragen sind nicht Teil unseres Buches, daher wollen wir nicht näher darauf eingehen.

Stattdessen wollen wir lieber betrachten, wie man Daten in unsere neue Tabelle einfügen könnte. Dazu muss natürlich der Tabellenname gegeben sein. Außerdem werden die Werte in der richtigen Reihenfolge der Spaltennamen erwartet:

Listing 19.24 Daten einfügen

mysql> INSERT INTO adressbuch
-> VALUES ('Johannes','Plötner','0123/456789');

Diese kurze Einführung soll als Überblick über die Datenbankerstellung genügen. Wie immer besteht die Welt aus mehr als diesem Buch, so dass wir uns Gott sei Dank nicht jedem Detail widmen müssen.

Abfragen starten!

Interessant ist jedoch noch die Art und Weise, wie man auf Daten zugreifen kann. Um Daten abzufragen, wird das SELECT-Statement genutzt. Dazu müssen Sie ein Kriterium sowie die entsprechende Tabelle angeben. Um sich einfach alles ausgeben zu lassen, wird folgendes Statement benutzt:

Listing 19.25 Alle Daten einer Tabelle

mysql> SELECT * FROM adressbuch;
+----------+----------+-------------+
| vorname | nachname | telefon |
+----------+----------+-------------+
| Johannes | Plötner | 0123/456789 |
| Maria | Plötner | 123 |
| Steffen | Wendzel | 456 |
+----------+----------+-------------+

Gezielt suchen

Spannend wird das Ganze aber erst, wenn wir bestimmte Daten gezielt abfragen. Dazu benutzen wir zusätzlich zu unserem SELECT-Statement eine WHERE-Klausel:

Listing 19.26 Gezielte Abfragen

mysql> SELECT vorname, telefon FROM adressbuch
-> WHERE nachname='Plötner';
+----------+-------------+
| vorname | telefon |
+----------+-------------+
| Johannes | 0123/456789 |
| Maria | 123 |
+----------+-------------+
mysql> SELECT telefon FROM adressbuch
-> WHERE vorname='Steffen';
+---------+
| telefon |
+---------+
| 456 |
+---------+

Unsere kleine Einführung in SQL endet hier fürs Erste. Sehen wir uns nun an, wie dies alles in der Praxis eingesetzt wird. Schließlich wird man dort kaum mit dem mysql-Tool herumfingern, um an irgendwelche Daten heranzukommen.


Rheinwerk Computing - Zum Seitenanfang

19.2.5 APIsZur vorigen Überschrift

... und PHP?

In der Regel möchte man aus verschiedenen Programmen heraus auf die Funktionalität von MySQL zugreifen können, anstatt diese Features alle selbst und damit eine eigene Datenbank zu implementieren. Aus diesem Grund gibt es für jede mindestens halbwegs relevante Programmiersprache eine SQL-API, über die man auch mit MySQL sprechen kann.

Was uns interessiert, ist nun der Zusammenhang mit PHP. Mit diesem wollen wir uns im nächsten Abschnitt befassen.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Linux Handbuch






 Linux Handbuch


Zum Katalog: Linux Server






 Linux Server


Zum Katalog: Raspberry Pi






 Raspberry Pi


Zum Katalog: Ubuntu 14.04 LTS






 Ubuntu 14.04 LTS


Zum Katalog: Roboter bauen mit Arduino






 Roboter bauen
 mit Arduino


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2012
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de