lehrerbibliothek.deDatenschutzerklärung
MySQL Das offizielle Handbuch
MySQL
Das offizielle Handbuch




Michael Widenius, David Axmark (Hrsg.)

mitp-Verlag
EAN: 9783826608889 (ISBN: 3-8266-0888-7)
744 Seiten, paperback, 18 x 24cm, 2002, CD zum Buch ist auch dabei

EUR 34,95
alle Angaben ohne Gewähr

Umschlagtext
MySQL - Das offizielle Handbuch



Das beliebte und verbreitete Online-Handbuch zu MySQL, das bereits so vielen Administratoren und Entwicklern bei der Arbeit mit MySQL geholfen hat, gibt es nun auch in der deutschen Übersetzung als Buch zum Anfassen, Blättern und Nachschlagen.



Dieses umfassende Handbuch wurde von Michael ?Monty" Widenius, David Axmark und den anderen verantwortlichen Entwicklern der Firma MySQL AB geschrieben. Unzählige Leseranmerkungen haben mit dazu beigetragen, dass das MySQL-Handbuch in einer nahezu perfekten Form vorliegt.



Die Übersetzung wurde mit viel Hingabe von Stefan Hinz vorgenommen und bietet eine praktische und erprobte Anleitung zur Lösung unzähliger Aufgabenstellungen. Die Themen reichen von der Installation und Problembehandlung bis hin zu komplexen Themen, wie der Unterstützung von ACID-Transaktionen und der Replikation von MySQL-Servern zur Unterstützung von Clustering und der Realisierung von Hochverfügbarkeitssystemen.



Weitere Features:



Ein umfassender Vergleich der Möglichkeiten von MySQL mit dem SQL-Standard



Eine Erläuterung der Sicherungsmechanismen für einen Datenbankserver anhand des mächtigen und ausgefeilten Rechtesystems von MySQL



Detaillierte Beschreibungen zum Import verschiedenster Textformate



Richtlinien zur Einschätzung der Performanz verschiedener Queries



Optimierungsmöglichkeiten durch tiefe Einblicke in die Implementierung von MySQL



Eine genaue Erläuterung der zahlreichen Datentypen von MySQL und deren bevorzugten Einsatzgebiete



Eine umfassende Betrachtung von Datenbanken und Queries zur Optimierung von lese- und schreibintensiven Operationen



Eine einleuchtende Erläuterung, warum bestimmte Fehler auftreten und wie man deren Folgen behandelt



Hinweise zur Arbeit mit gewichteter Volltextsuche



Detaillierte Erörterungen der Features, Stärken und Schwächen der einzelnen Tabellentypen



Eine Einführung zur Erweiterung von MySQL um eigene Funktionen
Verlagsinfo
Das EDV-Buch des Jahres! MySQL ist die Open Source-Datenbank-Software, die seit Jahren einen kometenhaften Aufstieg erlebt. MySQL ist sehr schnell, zuverlässig und dazu kostenlos. Jeder kann MySQL aus dem Internet herunterladen und einsetzen. Das offizielle deutsche MySQL-Benutzerhandbuch wurde von den Entwicklern selbst verfasst und enthält auf ca. 700 Seiten alles, was der MySQL-Anwender wissen muss. Das offizielle deutsche MySQL-Benutzerhandbuch besticht durch mehrere herausragende Features, die in dieser Zusammenstellung in Buchform als einzigartig gelten dürfen: * Es beinhaltet ein ausführliches MySQL-Tutorial, das es auch Einsteigern ermöglicht, schnell und effektiv hinter die Geheimnisse von MySQL zu kommen. * Eine genaue Beschreibung aller notwendigen Schritte von der Installation bis zum effektiven Troubleshooting * Profi-Wissen: Debugging, Upgrading, MySQL auf praktisch allen Betriebssystemen, Datenbank-Administration * Eine umfassende Befehlsreferenz * Eine detaillierte Übersicht über Third-Partie-Tools, Bibliotheken und weitere Schnittstellenprodukte Das offizielle deutsche MySQL-Benutzerhandbuch wurde von den Entwicklern selbst verfasst.
Inhaltsverzeichnis
Vorwort

Vorbemerkung zum deutschen Handbuch

Konventionen in diesem Handbuch

Kapitel 1: Was ist MySQL?

Die wichtigsten Features von MySQL
Wie stabil ist MySQL?
Wie groß können MySQL-Tabellen sein?
Jahr-2000-Konformität
Was ist MySQL AB?
Geschäftsmodell und Dienstleisungen von MySQL AB
MySQL-Support und Lizensierung
Support, den MySQL AB anbietet
Copyrights und Lizenzen, die von MySQL verwendet werden
MySQL-AB-Logos und -Schutzmarken
MySQL-Lizenzpolitik
MySQL 4.0 kurz und bündig
Schritt für Schritt
Für den sofortigen Entwicklungseinsatz
Eingebettetes MySQL
Weitere ab MySQL 4.0.0 verfügbare Features
MySQL 4.1, das folgende Entwicklungs-Release
MySQL-Informationsquellen
MySQL-Portale
MySQL-Mailing-Listen
Wie Standard-kompatibel ist MySQL?
An welchen Standards hält sich MySQL?
MySQL im ANSI-Modus laufen lassen
MySQL-Erweiterungen zu ANSI SQL92
MySQL-Unterschiede im Vergleich zu ANSI SQL92
Bekannte Fehler und Design-Unzugänglichkeiten in MySQL
MySQL und die Zukunft
Dinge, die in Version 4.0 enthalten sein sollten
Dinge, die in naher Zukunft erledigt werden müssen
Dinge, die irgendwann gemacht werden müssen
Ein paar Dinge, für deren Umsetzung wir keine Pläne haben
MySQL im Vergleich mit anderen Datenbanken
MySQL im Vergleich mit mSQL
MySQL im Vergleich mit PostgreSQL

Kapitel 2: Installation von MySQL

Schnelle Standard-Installation von MySQL
MySQL auf Linux installieren
Installation von MySQL unter Windows
Betriebssysteme, die von MySQL unterstützt werden
Welche MySQL-Version Sie benutzen sollten
Installationslayouts
Wann und wie Updates veröffentlicht werden
MySQL-Binärdistributionen, die von MySQL AB kompiliert wurden
Installation der Quelldistribution
Schnellinstallation : Überblick
Wie man Patches anwendet
Typische configure-Optionen
Installation vom Entwicklungs-Source-Tree
Probleme beim Kompilieren?
Anmerkungen zu MIT-pThreads
Windows-Quelldistribution
MySQL bauen
Einstellungen und Tests nach der Installation
Probleme mit mysql_install_db
Probleme mit dem Start des MySQL-Servers
MySQL automatisch starten und anhalten
MySQL aktualisieren (Upgrade / Downgrade)
Upgrade von 3.23 auf Version 4.0
Upgrade von einer Version 3.22 auf 3.23
Upgrade von Version 3.21 auf Version 3.22
Upgrade von Version 3.20 auf Version 3.21
Upgrade auf eine andere Architektur
Betriebssystem-spezifische Anmerkungen
Linux (alle Linux-Versionen)
Anmerkung zu Windows
Anmerkungen zu Solaris
Anmerkungen zu BSD
Anmerkungen zu Mac OS X
Anmerkungen zu anderen Unixen
Anmerkungen zu OS/2
Anmerkungen zu BeOS
Anmerkungen zu Novell Netware
Anmerkungen zur Perl-Installation
Installation von Perl unter Unix
Installation von ActiveState-Perl unter Windows
Installation von MySQL-Perl-Distribution unter Windows
Probleme bei der Benutzung von Perl DBI/DBD-Schnittstelle

Kapitel 3: Einführung in MySQL: Ein MySQL-Tutorial

Verbindung zum Server herstellen und trennen
Anfragen eingeben
Eine Datenbank erzeugen und benutzen
Eine Datenbank erzeugen und auswählen
Eine Tabelle erzeugen
Daten in Tabellen einladen
Informationen aus einer Tabelle abfragen
Informationen über Datenbanken und Tabellen
Beispiele gebräuchlicher anfragen (Queries)
Der höchste Wert einer Spalte
Die Zeile, die den höchsten Wert einer bestimmten Spalte enthält
Höchster Wert einer Spalte pro Gruppe
Die Zeilen, die das gruppenweise Maximum eines bestimmten Felds enthalten
Wie Benutzer-Variablen verwendet werden
Wie Fremdschlüssel (Foreign Keys) verwendet werden
Über zwei Schlüssel suchen
Besuche pro Tag berechnen
mysql im Stapelbetrieb (Batch Mode)
Anfragen aus dem Zwillings-Projekt
Alle nicht verteilten Zwillinge finden
Eine Tabelle über den Zustand von Zwillingspaaren zeigen
MySQL mit Apache benutzen

Kapitel 4: MySQL-Datenbankadministration

MySQL konfigurieren
mysqld-Kommandozeilenoptionen
my.conf-Optionsdateien
Viele Server auf derselben Maschine installieren
Viele MySQL-Server auf derselben Maschine laufen lassen
Allgemeine Sicherheitsthemen und das MySQL-Zugriffsberechtigungssystem
Allgemeine Sicherheitsrichtlinien
Wie Sie MySQL gegen Cracker sicher machen
Startoptionen für mysqld in Bezug auf Sicherheit
Was das Berechtigungssystem macht
Wie das Berechtigungssystem funktioniert
Von MySQL zur Verfügung gestellte Berechtigungen
Verbiden mit dem MySQL-Server
Zugriffskontrolle, Phase 1: Verbindungsüberprüfung
Zugriffskontrolle, Phase 2: Anfrageüberprüfung
Gründe für Access denied-Fehler
MySQL-Benutzerkonten-Verwaltung
GRANT- und REVOKE-Syntax
MySQL-Benutzernamen und -Passwörter
Wann Berechtigungsänderungen wirksam werden
Neue MySQL-Benutzer hinzufügen
Passwörter einrichten
Wie Sie Ihre Passwörter sicher halten
Disaster-Management und Wiederherstellung
Datenbank-Datensicherungen
BACKUP TABLE-Syntax
RESTORE TABLE-Syntax
CHECK TABLE-Syntax
REPAIR TABLE-Syntax
Bnutzung vonmyisamchk für Tabellenwartung und Absturzreparatur
Wartungsplan für Tabellen erstellen
Informationen über eine Tabelle erhalten
Datenbankverwaltung: Sprachreferenz
OPTIMIZE TABLE-Syntax
ANALYZE TABLE-Syntax
FLUSH-Syntax
KILL-Syntax
SHOW-Syntax
MySQL-Lokalisierung und internationaler Gebrauch
Der für Daten und Sortieren benutzte Zeichensatz
Nicht-englische Fehlermeldungen
Einen neuen Zeichensatz hinzufügen
Die Zeichen-Definitions-Arrays
Unterstützung für Zeichenketten-Vergleich
Unterstützung für Multi-Byte-Zeichen
Probleme mit Zeichensätzen
Serverseitige Skripte und Dienstprogramme für MySQL
Überblick über serverseitige Programme und Dienstprogramme
safe_mysqld, der Wrapper um mysqld
mysqld_multi, Programm zur Verwaltung mehrerer MySQL-Server
myisampack, MySQL-Programm zum Erzeugen komprimierter Nur-Lese-Tabellen
mysqld-max, ein erweiterter mysqld-Server
Clientseitige Skripte und Hilfsprogramme von MySQL
Überblick über die clientseitigen Skripte und Dienstprogramme
Das Kommandozeilen-Werkzeug
mysqladmin, Verwaltung eines MySQL-Server
Benutzung von mysqlcheck für Tabellenwartung und Wiederherstellung nach Abstürzen
Mysqldump, Tabellenstrukturen und -daten dumpen
mysqlhotcopy, MySQL-Datenbanken und Tabellen kopieren
mysqlimport, Daten aus Texdtateien importieren
Datenbaken, Tabellen und Spalten anzeigen
perror, Erklärung der Fehler-Codes
Wie SQL-Befehle aus einer Textdatei laufen gelassen werden
Die MySQL-Log-Dateien
Die Fehler-Log-Datei
Die allgemeine Anfragen-Log-Datei
Die Update-Log-Datei
Die binäre Update-Log-Datei
Die Anfragen-Log-Datei für langsame Anfragen
Wartung und Pflege der Log-Dateien
Replikation bei MySQL
Einführung in die Replikation
Replikationsimplementation
Wie man Replikation aufsetzt
Replikationsfetures und bekannte Probleme
Replikationsoptionen in my.cnf
SQL-Befehle in Bezug auf Replikation
Replikation - Häufig gestellte Fragen
Problemlösung bei Replikation

Kapitel 5: MySQL-Optimierung

Überblick über Optimierung
MySQL-Design-Einschränkungen
Portabilität
Wofür benutzen wir MySQL?
Die MySQL-Benchmark-Suite
Wie Sie Ihre eigenen Benchmarks benutzen
SELECTs und andere Anfragen optimieren
EXPLAIN-Syntax (Informationen über ein SELECT erhalten)
Anfragen-Performance abschätzen
Geschwindigkeit von SELECT-Anfragen
Wie MySQL WHERE-Klauseln optimiert
Wie MySQL DISTINCT optimiert
Wie MySQL LEFT JOIN optimiert
Wie MySQL LIMIT optimiert
Geschwindigkeit von INSERT-Anfragen
Geschwindigkeit von UPDATE-Anfragen
Geschwindigkeit von DELETE-Anfragen
Weitere Optimierungstipps
Sperren (Locking)
Wie MySQL Tabellen sperrt
Themen, die Tabellensperren betreffen
Optimierung der Datenbank-Struktur
MySQL-Datenbank-Design-Überlegungen
Wie Sie Ihre Daten so klein wie möglich bekommen
Wie MySQL Indexe benutzt
Spalten-Indexe
Mehrspaltige Indexe
Wie MySQL Tabellen öffnet und schließt
Nachteile der Erzeugung großer Mengen von
Tabellen in der selben Datenbank
Warum gibt es so viele offene Tabellen
Optimierung des MySQL-Servers
System / Kompilierzeitpunkt und Tuning der Startparameter
Server-Parameter tunen
Wie Kompilieren und Linken die Geschwindigkeit von
MySQL beeinflusst
Wie MySQL Speicher benutzt
Wie MySQL DNS benutzt
SET-Syntax
Festplatte, Anmerkungen
Symbolische Links benutzen

Kapitel 6: MySQL-Sprachreferenz

Sprachstruktur
Litrerale: Wie Zeichenketten und Zahlen geschrieben werden
Datenbank-, Tabellen-, Index-, Spalten- und Alias-Namen
Groß-/Kleinschreibung in Namen
Benutzer-Variablen
Kommentar-Syntax
Ist MySQL pingelig hinsichtlich reservierter Wörter?
Spaltentypen
Numerische Typen
Datums- und Zeit-Typen
Zeichenketten-Typen
Den richtigen Typ für eine Spalte auswählen
Spaltentypen anderer Datenbanken benutzen
Speicherbedarf von Spaltentypen
Funktionen für die Benutzung in SELECT- und WHERE-Klauseln
Nicht typenspezifische Operatoren und Funktionen
Ablaufsteuerungsfunktionen
Zeichenketten-Funktionen
Numerische Funktionen
Datums- und Zeit-Funktionen
Weitere Funktionen
Funktionen zur Benutzung bei GROUP BY-Klauseln
Datenmanipulation: SELECT, INSERT, UPDATE, DELETE
SELECT-Syntax
UPDATE-Syntax
DELETE-Syntax
Datendefinition: CREATE, DROP, ALTER
CREATE DATABASE-Syntax
DROP DATABASE- Syntax
CREATE TABLE- Syntax
ALTER TABLE- Syntax
RENAME TABLE- Syntax
DROP TABLE- Syntax
CREATE INDEX- Syntax
DROP INDEX- Syntax
Grundlegende Befehle des MySQL-Dienstprogramms für Benutzer
USE- Syntax
DESCRIBE- Syntax (Informationen über Spalten erhalten)
Transaktionale und Sperrbefehle von MySQL
BEGIN/COMMIT/ROLLBACK- Syntax
LOCK TABLES/UNLOCK TABLES- Syntax
SET TRANSACTION- Syntax
MySQL-Volltextsuche
Volltext-Einschränkungen
MySQL-Volltextsuche fein einstellen
Neue Features der Volltextsuche in MySQL 4.0
Volltextsuche TODO-Liste
MySQL-Anfragen-Cache
Wie der Anfragen-Cache funktioniert
Anfragen-Cache-Konfiguration
Anfragen-Cache-Optionen in SELECT
Anfragen-Cache-Status und -Wartung

Kapitel 7: MySQL-Tabellentypen

MyISAM-Tamellen
Für Schlüssel benötigter Speicherplatz
MyISAM-Tabellenformate
MyISAM-Tabellenprobleme
MERGE-Tabellen
MERGE-Tabellenprobleme
ISAM-Tabellen
HEAP-Tabellen
InnoDB-Tabellen
Überblich über InnoDB-Tabellen
Mit InnoDB anfangen - Optionen
InnoDB-Tabellenplatz (Tablespace) erzeugen
InnoDB-Tabellen erzeugen
Hinzufügen und Entfernen von InnoDB-Daten- und -Log-Dateien
Datensicherung und Wiederherstellung einer InnosDB-Datenbank
Eine InnoDB-Datebank auf eine andere Maschine verschieben
InnoDB-Transaktionsmodell
Tipps zur Performance-Steigerung
Implementation des Multiversionings
Tabellen- und Index-Strukturen
Verwaltung von Datei-Speicherplatz und
Festplatten-Eingaben / -Ausgaben
Fehlerbehandlung
Beschränkungen von InnoDB-Tabellen
BDB- oder Berkeley_db-Tabellen
Überblick über BDB-Tabellen
BDB installieren
BDB-Startoptionen
Kennzeichen von BDB-Tabellen
Was in naher Zukunft bei BDB in Ordnung gebracht werden muss
Betriebssysteme, die von BDB unterstützt werden
Fehler, die bei der Benutzung von BDB-Tabellen auftreten können

Kapitel 8: MySQL-APIs

MySQL-PHP-API
Allgemeine Probleme mit MySQL und PHP
MySQL-Perl-API
DBI mit DBD::mysql
Die DBI-Schnittstelle
Portable DBI-Methoden
MySQL-spezifische Methoden
Weitere BDI/BDB-Informationen
MySQL-ODBC-Unterstützung
Wie Sie MyODBC installieren
Wie Sie die verschiedenen Felder im ODBC-Administrator Programm ausfüllen
Verbindungsparameter für MyODBC
Wie Sie Probleme mit MyODBC berichten
Programme, die bekanntermaßen mit MyODBC zusammenarbeiten
Wie man den Wert AUTO_INCREMENT-Spalte in ODBC erhält
Probleme mit MyODBC berichten
MySQL-C-API
C-API-Datentypen
C-API-Funktionsüberblick
C-API-Funktionsbeschreibungen
C-Threaded-Tunktionsbeschreibungen
Häufige Fragen und Probleme bei der Benutzung der C-API
Client-Programme bauen
Wie man einen threaded Client herstellt
libmysqld, die eingebettete MySQL-Server-Bibliothek
MySQL-C++-APIs
Borland C++
MySQL Java Connectivity (JDBC)
MySQL-Python-APIs
MySQL-Tcl-APIs
MySQL-Eiffel-Wrapper

Kapitel 9: MySQL erweitern

Hinzufügen neuer Funktionen zu MySQL
CREATE FUNCTION / DROP FUNCTION- Syntax
Hinzufügen einer neuen benutzerdefinierten Funktion
Hinzufügen einer neuen nativen Funktion
Hinzufügen neuer Prozeduren zu MySQL
Prozeduranalyse
Eine Prozedur schreiben
MySQL-Interna
MySQL-Thread
MySQL-Test-Suite

Anhang A: Wie man feststellt, was Probleme verursacht

Einige gebräuchliche Fehler bei der Benutzung von MySQL
Access denied-Fehler
MySQL server has gone away-Fehler
Can't connect to [local] MySQL server-Fehler
Host '?' is blocked-Fehler
Too many connections-Fehler
Some non-transactional changed tables couldn't be rolled back-Fehler
No free memory-Fehler
Packet too large-Fehler
Kommunikationsfehler / Abgebrochene Verbindung
The table is full-Fehler
Can't create/write to file-Fehler
Command out of sync-Fehler in Client
User ignored-Fehler
Table 'xxx' doesn't exist-Fehler
Can&tacute; initialise charset xxx-Fehler
File Not Found
Installationsbezogene Themen
Probleme beim Linken mit der MySQL-Client-Bibliothek
Wie man MySQL als normaler Benutzer laufen läßt
Probleme mit Dateirechten
Administrationsbezogene Themen
Was zu tun ist, wenn MySQL andauernd abstürzt
Wie ein vergessenes Passwort zurückgesetzt wird
Wie MySQL mit vollen Festplatten umgeht
Wie Sie die MySQL-Socket-Datei '/tmp/mysql.sock' schützen oder ändern
Zeitzonen-Probleme
Anfragenbezogene Themen
Groß-/Kleinschreibung beim Suchen
Probleme bei der Benutzung von DATE-Spalten
Probleme mit NULL-Werten
Probleme mit alias
Zeilen aus verwandten Tabellen löschen
Probleme bei keinen übereinstimmenden Zeilen lösen
Tabellendefinitionsbezogene Themen
Probleme mit ALTER TABLE
Wie man die Reihenfolge der Spalten in einer Tabelle ändert
TEMPORARY TABLE-Problem

Anhang B: Firmen, die MySQL einsetzen

Allgemeine News-Sites
Einige Informations-Suchmaschinen mit Konzentration auf bestimmte Felder
Online-Magazine
Websites, die MySQL als Backend benutzen
Einige Domain- / Internet- / Web- und verwandte Services
Einige MySQL-Berater
Programmierung
Nicht kategorisierte Seiten

Anhang C: MySQL-Bentzung durch Kunden

Anhang D: Beigesteuerte Programme

Anhang E: sec-APIs

Clients
Web-Werkzeuge
Performance-Benchmark-Werkzeuge
Authentifizierungswerkzeuge
Konverter
MySQL mit anderen Produkten benutzen
Nützliche Werkzeuge
RPMs für gebräuchliche Werkzeuge (die meisten sind für RedHat 6.1)
Nützliche Funktionen
Windows-Programme
Nicht kategorisiert

Anhang F: Danksagungen

Entwickler bei MySQL AB
Kontributoren zu MySQL
Unterstützer von MySQL

Anhang G: MySQL-Änderungsverlauf (Change History)

Änderungen in Release 4.0.x (Entwicklung; Alpha)
Änderungen in Release 4.0.2
Änderungen in Release 4.0.1
Änderungen in Release 4.0.0
Änderungen in Release 3.23.x (Stabil)

Anhang H: Anmerkungen zur Portierung auf andere Systeme

Einen MySQL-Server debuggen
MySQL zum Debuggen kompilieren
Trace-Dateien erzeugen
mysqld unter gdb debuggen
Einen Stack-Trace benutzen
Log-Dateien benutzen, um Gründe für Fehler in mysqld zu finden
Einen Testfall herstellen, wenn Sie Tabellenbeschädigung feststellen
Einen MySQL-Client debuggen
Das DBUG-Paket
Sperrmethoden
Anmerkungen zu RTS-Thread
Unterschiede zwischen verschiedenen Thread-Paketen

Anhang I: Umgebungsvariablen

Anhang J: Beschreibung der MySQL-Syntax für regüläre Ausdrücke

Anhang K: GNU GENERAL PUBLIC LICENSE

Vorwort
Anhang: Wie Sie diese Bedingungen auf Ihre neuen Programme anwendbar machen

Anhang L: GNU LESSER GENERAL PUBLIC LICENSE

Vorwort
Anhang: Wie Sie diese Bedingungen auf Ihre eigenen, neuen Bibliotheken anwenden können

Stichwortverzeichnis