View
107
Download
32
Category
Preview:
Citation preview
Referat Web-Engineering06.12.2006Copyright © 2006 by Manuel Hegemann
Inhaltverzeichnis I
1. Was ist MySQL?1. Geschichte2. Wichtige Features3. Maximale Größe von MySQL-Tabellen
2. Installation / Konfiguration1. Unterstützte Betriebssystem2. Installation unter Windows3. Installation unter Linux4. Einstellungen und Tests nach der Installation
1. Unter Windows2. Unter Linux
Inhaltsverzeichnis II
3. Adminwerkzeuge und Benutzeroberflächen
1. PHPMyAdmin2. MySQL-Administrator
4. Datenbankdesign3. Tabellentypen4. Feldtypen
5. SQL-Einführung6. Zugriff auf MySQL
1. Zugriff per Perl2. Zugriff per PHP
Was ist MySQL?Geschichte
Ursprüngliche Absicht war Benutzung des SQL-Codes um eigene Low-Level-Routinen (ISAM) zu benutzen
SQL jedoch weder schnell und flexibel genug um Anforderungen abzudecken
Resultat war neue Datenbank, die allerdings fast gleiche API wie SQL benutzt
Namensherkunft nicht endgültig geklärt Entweder weil große Anzahl an Bibliotheken und
Werkzeugen das Präfix „my“ tragen Oder vom Namen der Tochter des MySQL-
Mitbegründers Monty Widenius, die „My“ hieß Name des MySQL-Delphins ist „Sakila“ Vorschlag wurde im Rahmen des Wettbewerbs „Name
the Dolphin“ ausgewählt
Was ist MySQL?Wichtige Features
Geschrieben in C und C++ Läuft auf vielen Plattformen Multithread fähig Schnelle „Joins“ Keine Speicherlecks (memory leaks) Sehr viele Datentypen Volle Standard-SQL-Unterstützung + teilweise ODBC-
Syntax-Unterstützung Flexibles und Sicheres Berechtigungssystem Fehlermeldung und –lokalisierung in vielen Sprachen
möglich Eingebaute SQL-Anweisungen zum Prüfen, Optimieren
und Reparieren von Tabellen u.v.m.
Was ist MySQL?Maximale Größe von MySQL-Tabellen
Betriebssystem Maximale Dateigröße
Linux 2.2 – Intel 32 Bit 2 GByte
Linux 2.4+ 4 TByte
Solaris 9/10 16 TByte
NetWare 8 TByte
Win 32 FAT / FAT 32 2 GByte / 4 GByte
Win 32 NTFS 2 TByte
Mac OS 2 TByte
Installation / KonfigurationUnterstützte Betriebssysteme
AIX Amiga BSDI Digital Unix FreeBSD HP-UX Linux Mac OS NetBSD OpenBSD OS/2 Solaris SunOS Tru64 Unix Windows
Installation / KonfigurationInstallation unter Windows I
Paketauswahl treffen Essentials-Paket enthält die mindestens
erforderlichen Dateien für eine Windowsinstallation inkl. Konfigurationsassistent
Complete-Paket enthält alle Dateien, inkl. optionale Komponenten und Konfigurationsassistent
Noinstall-Paket enthält alle Dateien des Complete-Pakets mit Ausnahme des Konfigurationsassistenten
Für die meisten Anwender wird das Essentials-Paket empfohlen
Installation / KonfigurationInstallation unter Windows II
Installation durch Konfigurationsassistenten
Hinweisen des Assistenten folgen und erforderliche Eingaben tätigen
Sofortiger Einsatz von MySQL möglich Nicht empfehlenswert für fortgeschrittene
Benutzer, die volle Kontrolle über Serverkonfiguration wünschen und jene, die mehrere MySQL-Instanzen auf gleichem Host installieren wollen
Installation / KonfigurationInstallation unter Linux
Was zunächst benötigt wird make C/C++ Compiler tar cat Perl5-Library
MySQL Source-Codes herunterladen Dateien entpacken Konfigurationsscript ausführen Anschließend Script kompilieren Kompiliertes Script installieren Datenbanken installieren MySQL mitteilen, wer Daemon ausführt my.cnf anpassen
Installation / Konfigurationmy.cnf
[mysqld]basedir=INSTALLATIONSVERZEICHNISdatadir=DATENVERZEICHNISlanguage=SPRACHVERZEICHNISport=PORTServer=SERVERVERZEICHNISuser=BENUTZERNAMEpassword=DEIN PASSWORT
Adminwerkzeuge/BenutzeroberflächenPHPMyAdmin
Vorführung von PHPMyAdmin im Einsatz
Adminwerkzeuge/BenutzeroberflächenMySQL-Administrator
Leistungsfähe, graphische Verwaltungskonsole Integration von Wartung und Administration einer Datenbank Ermöglicht die Benutzerverwaltung und die Steuerung von
Zugriffsrechten innerhalb weniger Minuten Dynamische Zustandsüberwachung aller wesentlichen
Zustandsindikatoren der MySQL-Umgebung Schnellere Optimierung durch einfache Einsicht verschiedenster
Parameter möglich Schnelle Erstellung von konsistenten Datensicherungen Übersicht über Protokoll-Dateien Vollständige Kontrolle über Systemdienste MySQL Server kann gestartet und angehalten werden Plattformübergreifend, verfügbar für Windows und Linux für MySQL
4.x Testvideo unter
http://www.mysql.de/products/tools/administrator/tutorials/custom-graphs.html
DatenbankdesignTabellentypen
MyISAM: Standard-Speicher-Engine – Baut auf älterem ISAM-Code auf und enthält viele praktische Erweiterungen
InnoDB: Transaktionssichere Speicher-Engine mit Commit-, Rollback- und Backupfähigkeit
MERGE: Sammlung identischer MyISAM-Tabellen – Identisch = gleiche Spalten- und Indexdaten
MEMORY: Legt Tabellen an, die im RAM gespeichert werden, auch als HEAP bezeichnet
BDB: bessere Chancen Absturz zu überstehen, außerdem Commit- und Rollbackfunktion
EXAMPLE: Beispiel für Entwickler wie man Speicher-Engines erstellt FEDERATED: greift auf Daten in „entfernten“ Datenbanktabellen zu ARCHIVE: Speicherung großer Datenmengen ohne Indizes mit kleinem
Speicherbedarf CSV: Speicherung in Textdateien im Format von kommatagetrennten
Werten BLACKHOLE: Daten werden zwar entgegen genommen, aber nicht
gespeichert
DatenbankdesignNumerische Feldtypen
BIT: Anzahl von Bits pro Wert zwischen 1 und 64 TINYINT: -128 bis 127 BOOLEAN: TRUE oder FALSE SMALLINT: -32768 bis 32767 MEDIUMINT: -8388608 bis 8388607 INT: -2147483648 bis 2147483647 BIGINT: -9223372036854775808 bis
9223372036854775807 FLOAT: -3.402823466E+38 bis 3.402823466E+38 DOUBLE: -2.2250738585072014E-308 bis
1.7976931348623157E+308 DECIMAL: gepackte „extakte“ Festkommazahl
DatenbankdesignDatums- und Zeittypen
DATE: 1000-01-01 bis 9999-12-31, Format immer YYYY-MM-DD
DATETIME: 1000-01-01 00:00:00 bis 9999-12-31 23:59:59, Format immer YYYY-MM-DD HH:MM:SS
TIMESTAMP: 1970-01-01 00:00:00 und einem Zeitpunkt irgendwann im Jahr 2037
TIME: -838:59:59 und 838:59:59, Format immer HH:MM:SS
YEAR (2|4): 1901 bis 2155, sowie 0000 – im zweistelligen Bereich von 70 bis 69 (1970 bis 2069)
DatenbankdesignString-Typen
CHAR: von 0 bis 255 Zeichen VARCHAR: von 0 bis 65535 Zeichen TINYBLOB: 255 (2^8 – 1) Byte BLOB: 65.535 (2^16 – 1) Byte TINYTEXT: 255 (2^8 – 1) Zeichen TEXT: 65.535 (2^16 – 1) Zeichen ENUM: Liste von Werten durch Komma
getrennt, maximal 65.535 Werte
SQL-Einführung I
SQL: Server Query Language Durch SQL-Statements können
Daten von der Datenbank abgefragt, hinzugefügt, geändert und gelöscht werden
SQL-Statements werden meist in Applikationen eingebunden, können aber auch in Adminwerkzeugen ausgeführt werden
SQL-Einführung IISELECT
Syntax:SELECT attributeFROM tabelleWHERE bedingung[ORDER BY | GROUP BY | etc.]
SQL-Einführung IIIINSERT
Syntax:INSERT INTO tabelle(attrib1, attrib2, attrib3)VALUES(´wert1´, ´wert2´, ´wert3´)
SQL-Einführung IVUPDATE
Syntax:UPDATE tabelleSET attrib1=´wert1a´, attrib2=
´wert2a´WHERE bedingung
SQL-Einführung VDELETE
Syntax:DELETE FROM tabelleWHERE bedingung
SQL-Einführung VIJOIN, am Beispiel INNER JOIN
Syntax:SELECT tab1.attribute, tab2.attributeFROM tabelle1 tab1INNER JOIN tabelle 2 tab2ON tab1.pk = tab2.fk[WHERE bedingung][ORDER BY | GROUP BY | etc.]
Zugriff auf MySQLZugriff per Perl
DBI ermöglicht Zugriff auf SQL-Datenbanken
Beispiel://Benutze DBIuse DBI;//Quellen beziehen (Treiber, Host, etc.)@data_sources = DBI->data_sources($driver_name);//Datenbankverbindung herstellen$dbh = DBI->connect($data_source, $username, $auth);//Statement ausführen$rv = $dbh->do($statement);//Datenbankverbindung schließen$rc = $dbh->disconnect;
Zugriff auf MySQLZugriff per PHP
PHP besitzt eigene Befehle um auf eine MySQL-Datenbank zuzugreifen
Beispiel://Datenbankverbindung herstellen$con = mysql_connect($host, $user, $pwd) or die(´Fehler´);//Datenbank auswählenmysql_select_db($database, $con) or die(´Fehler´);//Statement ausführen$query = mysql_query($statement);//Anzahl betroffene Zeilen abfragen$num = mysql_num_rows($query);//Bei Abfrage Datenarray auslesen$array = mysql_fetch_array($query);//Datenbankverbindung schließen;mysql_close($con);
ENDE
Vielen Dank für Eure Aufmerksamkeit!
Recommended