MySQL Installation Name 1 AnPr Klasse Datum Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall1 nur SQL als Schnittstellensprache akzeptiert wird. Für den Anfang wird der Commandline Client die Hauptzugriffsschnittstelle sein, wobei bei dem USBWebserver auch PHPMyAdmin genutzt wird. 2 Installation Die Installationsdateien können unter http://www.mysql.de/downloads/ heruntergeladen werden. Derzeit bietet MySQL auch einen Windows Installer an, welcher die notwendigen Schritte automatisch installiert. Bei manueller Auswahl ist der MySQL Community Server auszuwählen. Bei der Installationsdurchführung sind nur wenige Konfigurationsschritte notwendig. Üblicherweise wird „Custom Installation“ ausgewählt. Wichtig bei der Auswahl der Komponenten sind die Elemente unter MySQL Server, wobei hier die Haken bei MySQL Server, Client Programs und Server Data Files wichtig sind (Siehe links). Bei den anderen Komponenten sind ggf. noch zusätzliche Softwarepakete (bspw. DotNet Bibliotheken etc.) zu installieren. Für unsere Zwecke ist bei der Auswahl des Konfigurationstyps üblicherweise die „Development Machine“ die optimale Einstellung. 1 Skriptmanipulationen und Bulk Load Funktionalitäten sind oftmals nicht Teil des SQL Standards ANPR_01_MySQLInstallation_v02.docx Seite 1 MySQL Installation AnPr Was man ebenfalls sich überlegen muss ist, ob MySQL als Service oder manuell zu installieren ist. Sollte der Server als Service laufen, so bremst er ggf. das System unnötig, muss aber nicht jedes Mal manuell gestartet werden. 3 Administrationshinweise Folgende Konsolenbefehle sind für die Arbeit mit MySQL wichtig: Befehl: mysqld mysqld --console mysql –u root –p mysqladmin –u root –p shutdown Bedeutung: Startet den „Deamon“ – also den Server – im Hintergrund. Dies muss nur gemacht werden, wenn der Server nicht als Service installiert wurde. Wie mysqld, jedoch gibt mysqld noch Statusinformationen auf der Konsole aus. Dies ist vor allem bei Startproblemen hilfreich. Startet den Konsolenclient, um SQL Befehle auszuführen mit dem User „root“ und einer anschließenden Passwortabfrage Startet das mysql Administrationstool unter dem User „root“ und einer anschließenden Passwortabfrage. Bei richtiger Passworteingabe wird mysqld heruntergefahren. Wichtig: Datenbanken müssen immer sauber gestoppt („heruntergefahren“) werden. Killen Sie niemals einen Datenbank- Serverprozess. Dies könnte dazu führen, dass die Datenbankfiles – also die Dateien, in denen die Daten abgelegt werden – korrupt werden und die Daten somit unwiederbringlich verloren sind. Den Service immer über den Windows Service Dialog stoppen, bzw. bei manuellem Start von mysqld immer mit: mysqladmin –u root –p shutdown. 4 Erste Schritte Für die ersten Aktivitäten mit MySQL wird der MySQL Command Line Client empfohlen, welcher entweder über das Startmenü, oder über eine Kommandozeile mit dem Befehl mysql –u root –p gestartet wird: Anmerkung: Die Sequenz startet den Client als root user – hier kann jeder unter MySQL angelegte User angegeben werden. Sollte der User mit einem Passwort angelegt worden sein, so muss die Option –p angegeben werden. Mit dem Start ist der Client lediglich mit dem Server verbunden. Es kann noch keine Datenbank genutzt werden! Die vorhandenen Datenbanken können mit dem Befehl: show databases; angezeigt werden. Nun muss eine Datenbank angesprochen werden. Für den Anfang erstellen wir eine Datenbank für Testzwecke mit dem Namen TestMyDB: create database TestMyDB; Seite 2 AnPr MySQL Installation MySQL meldet danach ein OK: Query OK, 1 row affected (0.00 sec) Dies kann nochmal mit show databases; geprüft werden. Es wurde somit eine neue, leere Datenbank – also ohne Tabellen erschaffen. Dies wiederum kann geprüft werden, indem die Datenbank mit folgendem Befehl „genutzt“ wird: use TestMyDB; Mit show tables; sieht man anschließend, dass keine Tabellen vorhanden sind. Bevor wir jedoch unsere erste Tabelle erzeugen, müssen noch ein paar allgemeine Punkte zu Tabellen und Datentypen besprochen werden… Eine Tabelle besteht aus verschiedenen Spalten mit verschiedenen Datentypen. Folgende sind für die erste Übung von Interesse: Mit diesen Datentypen sind die meisten Applikationen umsetzbar. Grundsätzlich gibt es entsprechend des SQL Standards weitere Datentypen, wobei die RDBMS Hersteller darüber hinaus noch weitere Datentypen in ihren Produkten anbieten. Allgemein sind die Datentypen, bzw. die Tabellenstrukturen im sogenannten DDL Standard (Data Definition Language) festgehalten. Tabellen werden mit dem CREATE TABLE Statement erstellt. Hierbei sind neben dem Tabellennamen (der innerhalb der Datenbank eindeutig sein muss) noch die Spalten(namen) inklusive Datentyp anzugeben2: 2 Primary Key, (not)nullable Felder, auto increment etc. ist an dieser Stelle noch nicht wichtig. Seite 3 MySQL Installation Seite 4 AnPr AnPr MySQL Installation Die Daten können entweder via Datenfile über einen LOAD DATA Befehl eingelesen werden, oder Zeile für Zeile über ein INSERT Statement: INSERT INTO Stammdaten ( Vorname, Nachname, Strasse, PLZ, Ort, Geburtsdatum) VALUES ('Michael', 'Mayer', 'Huberweg 3', '86799', 'Musterdorf', '1976-12-04'); Dabei gibt MySQL folgende Meldung zurück: Query OK, 1 row affected (0.00 sec) Mit einem einfachen SELECT Befehl können die Daten verifiziert werden: SELECT * FROM Stammdaten; +---------+----------+------------+-------+------------+--------------+ | Vorname | Nachname | Strasse | PLZ | Ort | Geburtsdatum | +---------+----------+------------+-------+------------+--------------+ | Michael | Mayer | Huberweg 3 | 86799 | Musterdorf | 1976-12-04 | +---------+----------+------------+-------+------------+--------------+ Seite 5 MySQL Installation 5 AnPr Lizenz Diese(s) Werk bzw. Inhalt von Maik Aicher (www.codeconcert.de) steht unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz. Seite 6