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




Michael Widenius, David Axmark

mitp-Verlag
EAN: 9783826613517 (ISBN: 3-8266-1351-1)
736 Seiten, paperback, 17 x 24cm, 2003

EUR 22,95
alle Angaben ohne Gewähr

Umschlagtext
Das beliebte und verbreitete Online-Handbuch zu MySQL, das bereits so vielen Administratoren und Entwickern 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 Themenreichen 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.



Dieses MySQL-Handbuch ist die beste zur Zeit verfügbare Ressource zu MySQL. Kein anderes Buch behandelt MySQL und die unterstützende Software so gründlich wie dieses Handbuch.



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.
Inhaltsverzeichnis
Vorwort 17
Vorbemerkungen zum deutschen Handbuch 19

Konventionen in diesem Handbuch 20

Kapitel 1: Was ist MySQL? 23
Die wichtigsten Features von MySQL 24
Wie stabil ist MySQL? 26
Wie groß können MySQL-Tabellen sein? 29
Jahr-2000-Konformität 29
Was ist MySQL AB? 31
Geschäftsmodell und Dienstleistungen von MySQL AB 32
MySQL-Support und Lizensierung 34
Support, den MySQL AB anbietet 35
Copyrights und Lizenzen, die von MySQL
verwendet werden 35
MySQL-AB-Logos und -Schutzmarken 36
MySQL-Lizenzpolitik 37
MySQL 4.0 kurz und bündig 38
Schritt für Schritt 39
Für den sofortigen Entwicklungseinsatz 39
Eingebettetes MySQL 39
Weitere ab MySQL 4.0.0 verfügbare Features 39
Zukünftige Features in MySQL 4.0 40
MySQL 4.1, das folgende Entwicklungs-Release 40
MySQL-Informationsquellen 41
MySQL-Portale 41
MySQL-Mailing-Listen 41
Wie Standard-kompatibel ist MySQL? 48
An welche Standards hält sich MySQL? 48
MySQL im ANSI-Modus laufen lassen 48
MySQL-Erweiterungen zu ANSI SQL92 49
MySQL-Unterschiede im Vergleich zu ANSI SQL92 51
Bekannte Fehler und Design-Unzulänglichkeiten in MySQL 57
MySQL und die Zukunft 60
Dinge, die in Version 4.0 enthalten sein sollten 60
Dinge, die in naher Zukunft erledigt werden müssen 61
Dinge, die irgendwann gemacht werden müssen 64
Ein paar Dinge, für deren Umsetzung wir keine Pläne haben 66
MySQL im Vergleich mit anderen Datenbanken 66
MySQL im Vergleich mit mSQL 66
MySQL im Vergleich mit PostgreSQL 72

Kapitel 2: Installation von MySQL 81
Schnelle Standard-Installation von MySQL 81
MySQL auf Linux installieren 81
Installation von MySQL unter Windows 82
Betriebssysteme, die von MySQL unterstützt werden 84
Welche MySQL-Version Sie benutzen sollten . 85
Installationslayouts 88
Wann und wie Updates veröffentlicht werden 89
MySQL-Binärdistributionen, die von MySQL AB kompiliert wurden 89
Installation der Quelldistribution 91
Schnellinstallation: Überblick 91
Wie man Patches anwendet 94
Typische configure-Optionen 94
Installation vom Entwicklungs-Source-Tree 97
Probleme beim Kompilieren? 98
Anmerkungen zu MIT-pThreads 101
Windows-Quelldistribution 102
MySQL bauen 102
Einstellungen und Tests nach der Installation 103
Probleme mit mysql_install_db 106
Probleme mit dem Start des MySQL-Servers 108
MySQL automatisch starten und anhalten 110
MySQL aktualisieren (Upgrade / Downgrade) 111
Upgrade von 3.23 auf Version 4.0 111
Upgrade von einer Version 3.22 auf 3.23 112
Upgrade von Version 3.21 auf Version 3.22 113
Upgrade von Version 3.20 auf Version 3.21 113
Upgrade auf eine andere Architektur 114
Betriebssystem-spezifische Anmerkungen 115
Linux (alle Linux-Versionen) 115
Anmerkungen zu Windows 122
Anmerkungen zu Solaris 129
Anmerkungen zu BSD 133
Anmerkungen zu Mac OS X 135
Anmerkungen zu anderen Unixen 136
Anmerkungen zu OS/2 146
Anmerkungen zu BeOS 147
Anmerkungen zu Novell Netware 147
Anmerkungen zur Perl-Installation 147
Installation von Perl unter Unix 147
Installation von ActiveState-Perl unter Windows 148
Installation der MySQL-Perl-Distribution unter Windows 149
Probleme bei der Benutzung von Perl DBI/DBD-Schnittstelle 149

Kapitel 3: Einführung in MySQL: Ein MySQL-Tutorial 151
Verbindung zum Server herstellen und trennen 151
Anfragen eingeben 152
Eine Datenbank erzeugen und benutzen 156

Eine Datenbank erzeugen und auswählen 157
Eine Tabelle erzeugen 158
Daten in Tabellen einladen 159
Informationen aus einer Tabelle abfragen 160
Informationen über Datenbanken und Tabellen 178
Beispiele gebräuchlicher Anfragen (Queries) 179

Der höchste Wert einer Spalte 180
Die Zeile, die den höchsten Wert einer bestimmten Spalte enthält 180
Höchster Wert einer Spalte pro Gruppe 181
Die Zeilen, die das gruppenweise Maximum eines bestimmten
Felds enthalten 181
Wie Benutzer-Variablen verwendet werden 182
Wie Fremdschlüssel (Foreign Keys) verwendet werden 183
Über zwei Schlüssel suchen 185
Besuche pro Tag berechnen 185
mysql im Stapelbetrieb (Batch Mode) 186
Anfragen aus dem Zwillings-Projekt 187

Alle nicht verteilten Zwillinge finden 188
Eine Tabelle über den Zustand von Zwillingspaaren zeigen 191
MySQL mit Apache benutzen 191

Kapitel 4: MySQL-Datenbankadministration 193
MySQL konfigurieren 193

mysqld-Kommandozeilenoptionen 193
my.cnf-Optionsdateien 198
Viele Server auf derselben Maschine installieren 201
Viele MySQL-Server auf derselben Maschine laufen lassen 202
Allgemeine Sicherheitsthemen und das MySQL-Zugriffsberechtigungssystem 203
Allgemeine Sicherheitsrichtlinien 203
Wie Sie MySQL gegen Cracker sicher machen 206
Startoptionen für mysqld in Bezug auf Sicherheit 207
Was das Berechtigungssystem macht 208
Wie das Berechtigungssystem funktioniert 208
Von MySQL zur Verfügung gestellte Berechtigungen 211
Verbinden mit dem MySQL-Server 213
Zugriffskontrolle, Phase 1: Verbindungsüberprüfung 214
Zugriffskontrolle, Phase 2: Anfrageüberprüfung 217
Gründe für Access denied-Fehler 219
MySQL-Benutzerkonten-Verwaltung 223
GRANT- und REVOKE-Syntax 223
MySQL-Benutzernamen und -Passwörter 228
Wann Berechtigungsänderungen wirksam werden 229
Einrichtung der anfänglichen MySQL-Berechtigungen 229
Neue MySQL-Benutzer hinzufügen 230
Passwörter einrichten 233
Wie Sie Ihre Passwörter sicher halten 234
Disaster-Management und Wiederherstellung 235
Datenbank-Datensicherungen 235
BACKUP TABLE-Syntax 236
RESTORE TABLE-Syntax 237
CHECK TABLE-Syntax 237
REPAIR TABLE-Syntax 239
Benutzung von myisamchk für Tabellenwartung und Absturzreparatur 239
Wartungsplan für Tabellen erstellen 250
Informationen über eine Tabelle erhalten 250
Datenbankverwaltung: Sprachreferenz 257
OPTIMIZE TABLE-Syntax 257
ANALYZE TABLE-Syntax 258
FLUSH-Syntax 258
KILL-Syntax 259
SHOW-Syntax 259
MySQL-Lokalisierung und internationaler Gebrauch 276
Der für Daten und Sortieren benutzte Zeichensatz 276
Nicht-englische Fehlermeldungen 278
Einen neuen Zeichensatz hinzufügen 278
Die Zeichen-Definitions-Arrays 279
Unterstützung für Zeichenketten-Vergleich 280
Unterstützung für Multi-Byte-Zeichen 280
Probleme mit Zeichensätzen 280
Serverseitige Skripte und Dienstprogramme für MySQL 281
Überblick über serverseitige Programme und Dienstprogramme 281
safe_mysqld, der Wrapper um mysqld 283
mysqld_multi, Programm zur Verwaltung mehrerer MySQL-Server 285
myisampack, MySQL-Programm zum Erzeugen komprimierter
Nur-Lese-Tabellen 288
mysqld-max, ein erweiterter mysqld-Server 295
Clientseitige Skripte und Hilfsprogramme von MySQL 297
Überblick über die clientseitigen Skripte und Dienstprogramme 297
Das Kommandozeilen-Werkzeug 299
mysqladmin, Verwaltung eines MySQL-Servers 305
Benutzung von mysqlcheck für Tabellenwartung und Wiederherstellung
nach Abstürzen 307
mysqldump, Tabellenstrukturen und -daten dumpen 309
mysqlhotcopy, MySQL-Datenbanken und Tabellen kopieren 313
mysqlimport, Daten aus Textdateien importieren 315
Datenbanken, Tabellen und Spalten anzeigen 317
perror, Erklärung der Fehler-Codes 318
Wie SQL-Befehle aus einer Textdatei laufen gelassen werden 318
Die MySQL-Log-Dateien 318
Die Fehler-Log-Datei 319
Die allgemeine Anfragen-Log-Datei 319
Die Update-Log-Datei 319
Die binäre Update-Log-Datei 320
Die Anfragen-Log-Datei für langsame Anfragen 321
Wartung und Pflege der Log-Dateien 322
Replikation bei MySQL 322
Einführung in die Replikation 322
Replikationsimplementation 323
Wie man Replikation aufsetzt 323
Replikationsfeatures und bekannte Probleme 325
Replikationsoptionen in my.cnf 326
SQL-Befehle in Bezug auf Replikation 329
Replikation - Häufig gestellte Fragen 330
Problemlösung bei Replikation 333

Kapitel 5: MySQL-Optimierung 335
Überblick über Optimierung 335

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

Kapitel 6: MySQL-Sprachreferenz 375
Sprachstruktur 375

Literale: Wie Zeichenketten und Zahlen geschrieben werden 375
Datenbank-, Tabellen-, Index-, Spalten- und Alias-Namen 378
Groß-/Kleinschreibung in Namen 380
Benutzer-Variablen 380
Kommentar-Syntax 381
Ist MySQL pingelig hinsichtlich reservierter Wörter? 382
Spaltentypen 384
Numerische Typen 388
Datums- und Zeit-Typen 389
Zeichenketten-Typen 395
Den richtigen Typ für eine Spalte auswählen 399
Spaltentypen anderer Datenbanken benutzen 399
Speicherbedarf von Spaltentypen 400
Funktionen für die Benutzung in SELECT- und WHERE-Klauseln 401
Nicht typenspezifische Operatoren und Funktionen 402
Ablaufsteuerungsfunktionen 406
Zeichenketten-Funktionen 408
Numerische Funktionen 419
Datums- und Zeit-Funktionen 427
Weitere Funktionen 435
Funktionen zur Benutzung bei GROUP BY-Klauseln 440
Datenmanipulation: SELECT, INSEKT, UPDATE, DELETE 442
SELECT-Syntax 442
UPDATE-Syntax 452
DELETE-Syntax 452
Datendefinition: CREATE, DROP, ALTER 460
CREATE DATABASE-Syntax 460
DROP DATABASE-Syntax 461
CREATE TABLE-Syntax 461
ALTER TABLE-Syntax 468
RENAME TABLE-Syntax 472
DROP TABLE-Syntax 472
CREATE INDEX-Syntax 473
DROP INDEX-Syntax 473
Grundlegende Befehle des MySQL-Dienstprogramms für Benutzer 473
USE-Syntax 473
DESCRIBE-Syntax (Informationen über Spalten erhalten) 474
Transaktionale und Sperrbefehle von MySQL 474
BEGIN/COMMIT/ROLLBACK-Syntax 474
LOCK TABLES/UNLOCK TABLES-Syntax 475
SET TRANSACTION-Syntax 477
MySQL-Volltextsuche 477
Volltext-Einschränkungen 479
MySQL-Volltextsuche fein einstellen 480
Neue Features der Volltextsuche in MySQL 4.0 480
Volltextsuche TODO-Liste 481
MySQL-Anfragen-Cache 481
Wie der Anfragen-Cache funktioniert 481
Anfragen-Cache-Konfiguration 482
Anfragen-Cache-Optionen in SELECT 483
Anfragen-Cache-Status und -Wartung 483

Kapitel 7: MySQL-Tabellentypen 485
MylSAM-Tabellen 486

Für Schlüssel benötigter Speicherplatz 488
MylSAM-Tabellenformate 489
MylSAM-Tabellenprobleme 491
MERGE-Tabellen 492
MERGE-Tabellenprobleme 494
ISAM-Tabellen 495
HEAP-Tabellen 496
InnoDB-Tabellen 497

Überblick über InnoDB-Tabellen 497
Mit InnoDB anfangen - Optionen 498
InnoDB-Tabellenplatz (Tablespace) erzeugen 501
InnoDB-Tabellen erzeugen 502
Hinzufügen und Entfernen von InnoDB-Daten- und -Log-Dateien 504
Datensicherung und Wiederherstellung einer InnoDB-Datenbank 505
Eine InnoDB-Datenbank auf eine andere Maschine verschieben 506
InnoDB-Transaktionsmodell 507
Tipps zur Performance-Steigerung 510
Implementation des Multiversionings 514
Tabellen- und Index-Strukturen 515
Verwaltung von Datei-Speicherplatz und Festplatten-Eingaben / -Ausgaben 517
Fehlerbehandlung 518
Beschränkungen von InnoDB-Tabellen 519
BDB- oder Berkeley_db-Tabellen 520
Überblick über BDB-Tabellen 520
BDB installieren 520
BDB-Startoptionen 521
Kennzeichen von BDB-Tabellen 521
Was in naher Zukunft bei BDB in Ordnung gebracht werden muss 523
Betriebssysteme, die von BDB unterstützt werden 523
Fehler, die bei der Benutzung von BDB-Tabellen auftreten können 523

Kapitel 8: MySQL-APIs 525
MySQL-PHP-API 525

Allgemeine Probleme mit MySQL und PHP 525
MySQL-Perl-API 526
DBI mit DBD::mysql 526
Die DBI-Schnittstelle 526
Portable DBI-Methoden 527
MySQL-spezifische Methoden 532
Weitere DBI/DBD-Informationen 533
MySQL-ODBC-Unterstützung 533
Wie Sie MyODBC installieren 534
Wie Sie die verschiedenen Felder im ODBC-Administrator
Programm ausfüllen 535
Verbindungsparameter für MyODBC 535
Wie Sie Probleme mit MyODBC berichten 537
Programme, die bekanntermaßen mit MyODBC zusammenarbeiten 537
Wie man den Wert einer AUTOJNCREMENT-Spalte in ODBC erhält 542
Probleme mit MyODBC berichten 542
MySQL-C-API 543
C-API-Datentypen 544
C-API-Funktionsüberblick 547
C-API-Funktionsbeschreibungen 550
C-Threaded-Funktionsbeschreibungen 585
C-Embedded-Server-Funktionsbeschreibungen 585
Häufige Fragen und Probleme bei der Benutzung der C-API 587
Client-Programme bauen 589
Wie man einen threaded Client herstellt 589
libmysqld, die eingebettete MySQL-Server-Bibliothek 590
MySQL-C++-APIs 598
Borland C++ 598
MySQL Java Connectivity (JDBC) 598
MySQL-Python-APIs 598
MySQL-Tcl-APIs 598
MySQL-Eiffel-Wrapper 598

Kapitel 9: MySQL erweitern 599
Hinzufügen neuer Funktionen zu MySQL 599

CREATE FUNCTION / DROP FUNCTION-Syntax 599
Hinzufügen einer neuen benutzerdefinierten Funktion 600
Hinzufügen einer neuen nativen Funktion 606
Hinzufügen neuer Prozeduren zu MySQL 607
Prozeduranalyse 608
Eine Prozedur schreiben 608
MySQL-Interna 608
MySQL-Thread 608
MySQL-Test-Suite 609

Anhang A: Wie man feststellt, was Probleme verursacht 613
Einige gebräuchliche Fehler bei der Benutzung von MySQL 614

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

Anhang B: Firmen, die MySQL einsetzen 635
Allgemeine News-Sites 635
Einige Web-Suchmaschinen 635
Einige Informations-Suchmaschinen mit Konzentration auf bestimmte Felder 636
Online-Magazine 636
Websites, die MySQL als Backend benutzen 636
Einige Domain- / Internet- / Web- und verwandte Services 637
Websites, die PHP und MySQL benutzen 637
Einige MySQL-Berater 638
Programmierung 638
Nicht kategorisierte Seiten 638

Anhang C: MySQL-Benutzung durch Kunden 641

Anhang D: Beigesteuerte Programme 643

Anhang E: sec-APIs 645

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

Anhang F: Danksagungen 655
Entwickler bei MySQL AB 655
Kontributoren zu MySQL 657
Unterstützer von MySQL 664

Anhang G: MySQL-Änderungsverlauf (Change History) 665
Änderungen in Release 4.0.x (Entwicklung; Alpha) 665
Änderungen in Release 4.0.2 665
Änderungen in Release 4.0.1 665
Änderungen in Release 4.0.0 666
Änderungen in Release 3.23.x (Stabil) 667

Anhang H: Anmerkungen zur Portierung auf andere Systeme 697
Einen MySQL-Server debuggen 698
MySQL zum Debuggen kompilieren 698
Trace-Dateien erzeugen 699
mysqld unter gdb debuggen 699
Einen Stack-Trace benutzen 700
Log-Dateien benutzen, um Gründe für Fehler in mysqld zu finden 701
Einen Testfall herstellen, wenn Sie Tabellenbeschädigung feststellen 702
Einen MySQL-Client debuggen 703
Das DBUG-Paket 703
Sperrmethoden 705
Anmerkungen zu RTS-Thread 706
Unterschiede zwischen verschiedenen Thread-Paketen 707

Anhang I: Umgebungsvariablen 709

Anhang J: Beschreibung der MySQL-Syntax für reguläre Ausdrücke 711

Anhang K: GNU GENERAL PUBLIC LICENSE 715

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

Anhang L: GNU LESSER GENERAL PUBLIC LICENSE 723
Vorwort 723
Anhang: Wie Sie diese Bedingungen auf Ihre eigenen, neuen Bibliotheken anwenden können 730

Stichwortverzeichnis 733