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

Inhaltsverzeichnis
Vorwort
Vorwort des Gutachters
1 Einstieg in C
2 Das erste Programm
3 Grundlagen
4 Formatierte Ein-/Ausgabe mit »scanf()« und »printf()«
5 Basisdatentypen
6 Operatoren
7 Typumwandlung
8 Kontrollstrukturen
9 Funktionen
10 Präprozessor-Direktiven
11 Arrays
12 Zeiger (Pointer)
13 Kommandozeilenargumente
14 Dynamische Speicherverwaltung
15 Strukturen
16 Ein-/Ausgabe-Funktionen
17 Attribute von Dateien und das Arbeiten mit Verzeichnissen (nicht ANSI C)
18 Arbeiten mit variabel langen Argumentlisten – <stdarg.h>
19 Zeitroutinen
20 Weitere Headerdateien und ihre Funktionen (ANSI C)
21 Dynamische Datenstrukturen
22 Algorithmen
23 CGI mit C
24 MySQL und C
25 Netzwerkprogrammierung und Cross–Plattform-Entwicklung
26 Paralleles Rechnen
27 Sicheres Programmieren
28 Wie geht’s jetzt weiter?
A Operatoren
B Die C-Standard-Bibliothek
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
C von A bis Z von Jürgen Wolf
Das umfassende Handbuch
Buch: C von A bis Z

C von A bis Z
3., aktualisierte und erweiterte Auflage, geb., mit CD und Referenzkarte
1.190 S., 39,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1411-7
Pfeil 24 MySQL und C
Pfeil 24.1 Aufbau eines Datenbanksystems
Pfeil 24.1.1 Warum wurde ein Datenbanksystem (DBS) entwickelt?
Pfeil 24.1.2 Das Datenbank-Management-System (DBMS)
Pfeil 24.1.3 Relationale Datenbank
Pfeil 24.1.4 Eigene Clients mit C für SQL mithilfe der ODBC-API entwickeln
Pfeil 24.2 MySQL installieren
Pfeil 24.2.1 Linux
Pfeil 24.2.2 Den Client »mysql« starten
Pfeil 24.3 Crashkurs (My)SQL
Pfeil 24.3.1 Was ist SQL?
Pfeil 24.3.2 Die Datentypen von (My)SQL
Pfeil 24.3.3 Eine Datenbank erzeugen
Pfeil 24.3.4 Eine Datenbank löschen
Pfeil 24.3.5 Datenbank wechseln
Pfeil 24.3.6 Eine Tabelle erstellen
Pfeil 24.3.7 Die Tabelle anzeigen
Pfeil 24.3.8 Tabellendefinition überprüfen
Pfeil 24.3.9 Tabelle löschen
Pfeil 24.3.10 Struktur einer Tabelle ändern
Pfeil 24.3.11 Datensätze eingeben
Pfeil 24.3.12 Datensätze auswählen
Pfeil 24.3.13 Ein fortgeschrittenes Szenario
Pfeil 24.3.14 Datensatz löschen
Pfeil 24.3.15 Datensatz ändern
Pfeil 24.3.16 Zugriffsrechte in MySQL
Pfeil 24.3.17 Übersicht über einige SQL-Kommandos
Pfeil 24.4 Die MySQL-C-API
Pfeil 24.4.1 Grundlagen zur Programmierung eines MySQL-Clients
Pfeil 24.4.2 Client-Programm mit dem gcc unter Linux und dem Cygwin–gcc-Compiler unter Windows
Pfeil 24.4.3 MySQL Client-Programme mit dem VC++ Compiler und dem Borland Freeware Compiler
Pfeil 24.4.4 Troubleshooting
Pfeil 24.4.5 Das erste Client-Programm – Verbindung mit dem MySQL-Server herstellen
Pfeil 24.4.6 MySQL-Kommandozeilen-Optionen
Pfeil 24.4.7 Anfrage an den Server
Pfeil 24.5 MySQL und C mit CGI
Pfeil 24.5.1 HTML-Eingabeformular
Pfeil 24.5.2 Die CGI-Anwendung »add_db.cgi«
Pfeil 24.5.3 Die CGI-Anwendung »search_db.cgi«
Pfeil 24.6 Funktionsübersicht
Pfeil 24.7 Datentypenübersicht der C-API


Rheinwerk Computing - Zum Seitenanfang

24.2 MySQL installieren Zur nächsten ÜberschriftZur vorigen Überschrift


Rheinwerk Computing - Zum Seitenanfang

24.2.1 Linux Zur nächsten ÜberschriftZur vorigen Überschrift

Die Installation unter Linux gestaltet sich wieder relativ einfach. Ein Download sollte eigentlich nicht erforderlich sein, da MySQL in der Regel jeder Linux-Distribution beiliegt. Bei der Suche nach MySQL in Ihrer Linux-Distribution wird Ihnen auffallen, dass – abhängig von der Distribution – meistens noch eine Reihe weiterer Pakete vorhanden sind. Neben dem MySQL-Server (meistens mysql–server) sollten Sie auch mysql-client und libmysql installiert haben. Wie die Pakete genau heißen, hängt teilweise auch von der Distribution ab.

Wenn alle Pakete installiert wurden, können Sie den Datenbankserver starten. Unter Ubuntu genügt hierzu beispielsweise der Befehl (bei vielen anderen Distributionen funktioniert das auch als Root und ohne sudo):

$ sudo /etc/init.d/mysql start
[sudo] password for user: ******
* Starting MySQL database server mysqld [ OK ]

Stoppen können Sie den Server wiederum mit:

$ sudo /etc/init.d/mysql stop
* Stopping MySQL database server mysqld [ OK ]

Bei anderen Distributionen (beispielsweise RedHat, Fedora, Mandrake) kann das Verzeichnis zum Script auch /etc/rc.d/init.d/ sein.

Bei der FreeBSD kann der MySQL Server auch mit folgendem Befehl vom Superuser gestartet bzw. gestoppt werden:

$ /usr/local/etc/rc.d/mysql-server start
Starting service MySQL done

$ /usr/local/etc/rc.d/mysql-server stop
Shutting down service mysql done

Mit dem Befehl restart am Ende (anstatt mit start oder stop) können Sie den MySQL-Server neu starten lassen.

Windows

Die Installation unter Windows verläuft ähnlich einfach, nur dass Sie hier das Binary zunächst von http://www.mysql.de herunterladen müssen. Anschließend finden Sie einen anwenderfreundlichen Installer, mit dem Sie MySQL Klick für Klick installieren können. Sie müssen lediglich den Anweisungen auf dem Bildschirm folgen.

Damit Sie anschließend auch MySQL-Anwendungen erstellen können, müssen Sie hierbei auch die Bibliothek und Headerdateien mitinstallieren. Mit dem typischen Klick für Klick auf Next geschieht dies leider nicht automatisch, sodass Sie bei der Option, was Sie alles installieren wollen, anstatt Typical bzw. Standard hier Custom bzw. Benutzerdefiniert auswählen müssen und bei den Developer-Components die Option C Include Files / Lib Files aktivieren.


Hinweis

Im Kapitel zuvor haben Sie vielleicht XAMPP installiert. Leider liegen XAMPP nicht die Bibliotheken und Headerdateien bei, die Sie für die Erstellung von MySQL-Anwendungen unter Windows benötigen. Daher sollten Sie sich das Binary von der Webseite http://www.mysql.de/ besorgen.


Zunächst sollten Sie sich hier den MySQL-Server von http://www.mysql.de/ heruntergeladen, um eben die Bibliothek und Headerdateien (im lib- und include-Verzeichnis) für unsere MySQL-Anwendungen zu verwenden. Sie können jetzt natürlich jederzeit wieder das XAMPP Control Panel verwenden, um MySQL zu starten bzw. stoppen.

Alternativ können Sie aber auch, wenn Sie beispielsweise kein XAMPP verwenden wollen oder können, den MySQL-Server mit dem MySQL Server Instance Configuration Wizard einrichten und konfigurieren. Hierzu müssen Sie einfach den Anweisungen auf dem Bildschirm folgen. Hierbei kann der MySQL-Server dann auch gleich als Dienst eingerichtet werden.


Hinweis

Da es viele unterschiedliche Möglichkeiten gibt, ist diese Anleitung für die Installation und das Starten des Datenbankservers MySQL sehr oberflächlich gehalten. Für genauere Angaben und Details empfiehlt es sich immer, zuerst das Manual zur aktuellen MySQL-Version zu lesen. Dies befindet sich meistens im docs-Verzeichnis von MySQL oder online unter http://www.mysql.de.



Rheinwerk Computing - Zum Seitenanfang

24.2.2 Den Client »mysql« starten topZur vorigen Überschrift

Der Client (oder besser die SQL-Shell) mysql ist im Standardumfang von MySQL enthalten und quasi das wichtigste Werkzeug, um mit MySQL in der Kommandozeile zu arbeiten. Die MySQL-Shell soll jetzt aufgerufen werden. Starten Sie hierfür, falls das noch nicht geschehen ist, den MySQL-Server. Da das Werkzeug mysql eine gewaltige Anzahl von Optionen besitzt, können Sie es auch mit dem Flag -help aufrufen, um sich einen Überblick zu verschaffen. Folgendermaßen können Sie den Client beispielsweise starten:

$ mysql -uroot -p -hlocalhost
Enter password: *****
...
mysql >

Sie starten hierbei die MySQL-Shell mit dem User root und dem Host localhost. Sie können sich von Haus aus als Benutzer root mit dem MySQL-Server verbinden. Das sollte eigentlich auch logisch sein, denn sonst hätten Sie keinen Zugriff auf den MySQL-Server. Mit der Option -p werden Sie interaktiv nach dem Passwort gefragt.

Alternativ funktioniert dies natürlich auch bei Windows mit (beispielsweise befindet sich mysql.exe im Pfad C:\xampp\mysql\bin):

C:\xampp\mysql\bin\mysql.exe -uroot -p -hlocalhost

Für den Fall, dass Sie noch kein Passwort vergeben haben, können Sie die Option -p hier auch weglassen.

Jetzt sehen Sie den Eingabecursor:

mysql>

Wenn Sie nun quit eingeben, können Sie den Client wieder verlassen. Das Client-Programm mysql, das Sie gerade gestartet haben, wird verwendet, um SQL-Anweisungen an den Datenbankserver zu übermitteln. In der Praxis kann dafür auch das Tool phpMyAdmin verwendet werden, mit dem eine vollständige Administration der MySQL-Datenbank mithilfe des Webbrowsers möglich ist. Das Tool wird über PHP-Dokumente und das HTTP-Protokoll aufgerufen und lässt sich somit auf allen Betriebssystemen mit dem Webbrowser verwenden.


Hinweis

Wenn Sie den mysql-Client starten, sollte der Server natürlich ebenso seine Arbeit verrichten. Das ist plausibel, aber ein häufiger Grund, warum der Client keine Verbindung zum Server aufbauen kann.


mysqladmin

Wollen Sie ein Passwort ändern oder vergeben, können Sie dies recht komfortabel mit dem Client mysqladmin (beispielsweise mysqladmin.exe) realisieren. Beispielsweise können Sie folgendermaßen ein Passwort für den User root vergeben:

$ mysqladmin -uroot password k4p6m3o3

Hier haben Sie dem User root das Passwort k4p6m3o3 gegeben. Natürlich können Sie das Passwort so auch jederzeit wieder mit mysqladmin ändern:

$ mysqladmin -uroot -pk4p6m3o3 password Jürgen
$ mysql -uroot -pk4p6m3o3 -hlocalhost
ERROR 1045 (28000): Access denied for user
 'root'@'localhost' (using password: YES)
$ mysql -uroot -pJürgen -hlocalhost
Welcome to the MySQL monitor. Commands end with ; or \g.
...

Hiermit haben Sie das Passwort k4p6m3o3 in das Passwort Jürgen umgeändert. Sie sollten sich natürlich ein anderes Passwort einfallen lassen. Es empfiehlt sich allerdings auf Produktivsystemen nicht diesen Befehl abzusetzen. Falls es jemand schafft, Root-Rechte auf dem Server zu erlangen, kann er somit das Hauptpasswort für die DB aus der /root/.bash_history auslesen (erste Anlaufstelle für Cracker). Es ist sinnvoller, das Passwort im mysql-Monitor mit den Grant-Funktionen zu ändern oder mit einem

mysql > USE mysql;
mysql > UPDATE user SET Password=PASSWORD('neues_password')
      > WHERE User='root';

und danach mit

mysql > FLUSH PRIVILEGES;

die User-Datenbank neu einzulesen.


Hinweis

Natürlich gibt es auch bei MySQL mit my.cnf eine Konfigurationsdatei, in der alles mit einem Texteditor eingestellt werden kann.




Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  
  Zum Katalog
Zum Katalog: C von A bis Z

 C von A bis Z
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: C/C++






 C/C++


Zum Katalog: Einstieg in C






 Einstieg in C


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
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.


[Rheinwerk Computing]

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