Installation von MySQL

Dieser Teil des Tutorials beschreibt, wie man die Datenbank MySQL kompiliert und installiert, um sie später in TYPO3 nutzen zu können.

Den MySQL-Quellcode beziehen

Sofern Ihnen der Quellcode noch nicht vorliegt, können Sie ihn sich von der offiziellen MySQL-Website herunterladen.

Anschließend legen wir das Paket mit dem Quellcode im entsprechenden Verzeichnis ab: /opt/mysql/mysql-4.0.16.tar.gz

Danach entpacken wir das Source-Paket und erstellen unser Installationsverzeichnis. Das eigentliche Zielverzeichnis, in dem sich dann die kompilierte Datenbank befinden wird, erstellen wir später im Zuge des Kompiliervorgangs.

Quellcode von MySQL entpacken
linux:/ # cd /opt/mysql 
linux:/opt/mysql # tar xvfz mysql-4.0.16.tar.gz 
linux:/opt/mysql # mv mysql-4.0.16 mysql-4.0.16-install

Somit ist /opt/mysql/mysql-4.0.16-install
unser Installationsverzeichnis. Das Zielverzeichnis für die kompilierte Datenbank wird später /opt/mysql/mysql-4.0.16
sein. (Dieses Schema wenden wir analog bei den anderen Komponenten an.)

configure, make, make install

Zuerst konfigurieren wir unsere Installation.

Aufruf von configure
linux:/ # cd /opt/mysql/mysql-4.0.16-install
linux:/opt/mysql/mysql-4.0.16-install # CFLAGS="-O3 -march=pentiumpro" CXX=gcc CXXFLAGS="-O3 -march=pentiumpro -felide-constructors -fno-exceptions -fno-rtti" ./configure --prefix=/opt/mysql/mysql-4.0.16 --localstatedir=/opt/mysql/mysql-4.0.16/data --with-unix-socket-path=/opt/mysql/mysql-4.0.16/mysql.sock --with-mysqld-ldflags=-all-static --enable-assembler --enable-thread-safe-client --with-named-curses-libs=/lib/libncurses.so.5.3

Bitte passen Sie die Version im Parameter --with-named-curses-libs=/lib/libncurses.so.x.y Ihrem System entsprechend an, also für ".x.y" beispielsweise ".5.2" oder ".5.3".

Danach starten wir den Kompiliervorgang:

Kompilieren mit 'make'
linux:/opt/mysql/mysql-4.0.16-install # make

Möglicher Fehler bei make

Nach dem Aufruf von make kann es vorkommen, dass der Kompilierungsvorgang abbricht und Fehlermeldungen der folgenden Art anzeigt:

Fehlermeldung bei make
libmysql.c: In function `mysql_real_connect': 
libmysql.c:1786: warning: passing arg 5 of `gethostbyname_r' from incompatible pointer type 
libmysql.c:1786: error: too few arguments to function `gethostbyname_r' 
libmysql.c:1786: warning: assignment makes pointer from integer without a cast 
make[2]: *** [libmysql.lo] Error 1 
make[2]: Leaving directory `/opt/mysql/mysql-4.0.16-install/libmysql_r' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/opt/mysql/mysql-4.0.16-install' 
make: *** [all] Error 2

In diesem Fall müssen wir die Header-Datei config.h editieren, bevor wir make erneut starten. Dazu gehen wir folgendermaßen vor.

Zuerst bereinigen wir unsere fehlgeschlagene Kompilierung:

'make clean' zum Bereinigen der Installation
linux:/opt/mysql/mysql-4.0.16-install # make clean

Danach editieren wir die Datei config.h, die sich in unserem Installationsverzeichnis befindet. In einem Editor Ihrer Wahl fügen Sie die fettgeschriebene Zeile ein. Möglicherweise ist diese Zeile bereits vorhanden und in Kommentare ( /* ... */ ) eingeschlossen.

Editieren der Datei config.h
#define HAVE_GETHOSTBYNAME_R_GLIBC2_STYLE 1
/* In OSF 4.0f the 3'd argument to gethostname_r is hostent_data * */
/* #undef HAVE_GETHOSTBYNAME_R_RETURN_INT */

Nachdem Sie die Datei geändert und abgespeichert haben, starten Sie make erneut:

Aufruf von make
linux:/opt/mysql/mysql-4.0.16-install # make

Nun sollte die Kompilierung ohne weitere Probleme funktionieren.

Schließlich installieren wir das Paket:

Installieren mit 'make install'
linux:/opt/mysql/mysql-4.0.16-install # make install

Initialisierung von MySQL

In diesem Schritt werden die grundlegenden Datenbanktabellen des MySQL-Systems erstellt. Dies erledigen wir durch den Aufruf eines mitgelieferten Skriptes im Installationsverzeichnis.

Tabellen der Datenbank erzeugen
linux:/opt/mysql/mysql-4.0.16-install # scripts/mysql_install_db

Start-/Stopp-Skript einrichten

Wir installieren das mitgelieferte Skript mysql.server, das den Start und den Stopp des MySQL-Servers übernimmt, nach /etc/init.d:

Mit 'chkconfig' das 'mysql.server' Skript einbinden
linux:/opt/mysql/mysql-4.0.16-install # cd /opt/mysql
linux:/opt/mysql # cp mysql-4.0.16/share/mysql/mysql.server /etc/init.d/
linux:/opt/mysql # chkconfig --add mysql.server

Konfigurationsdatei 'my.cnf' anpassen

Jetzt legen wir die MySQL-Konfigurationsdatei my.cnf im Verzeichnis /etc ab. Wir verwenden die mitgelieferte Datei my-medium.cnf als Ausgangsbasis ...

my.cnf nach /etc kopieren
linux:/opt/mysql # cp mysql-4.0.16/share/mysql/my-medium.cnf /etc/my.cnf

... und passen diese Datei auf unsere Installation an, indem wir folgende Änderungen in der Datei /etc/my.cnf vornehmen: In der Sektion [mysqld] fügen wir die beiden ersten Zeilen ein und ergänzen die Datei anschließend noch um die Sektion [mysql.server].

my.cnf ändern
[mysqld]
user = mysql
datadir = /opt/mysql/mysql-4.0.16/data
 
# ... weitere my.cnf Konfiguration ...
 
[mysql.server]
basedir = /opt/mysql/mysql-4.0.16

Benutzerrechte und Dateirechte für MySQL

Um mögliche Probleme zu vermeiden, erstellen wir einen symbolischen Link im MySQL-Standardverzeichnis, der auf unser Zielverzeichnis verweist:

Softlink erstellen
linux:/opt/mysql # ln -s /opt/mysql/mysql-4.0.16 /var/lib/mysql

Existiert der User 'mysql' noch nicht auf Ihrem System, so erstellen wir ihn jetzt:

Benutzer 'mysql' erstellen
linux:/opt/mysql # useradd -d /var/lib/mysql -g 2 -s /bin/false -u 60 mysql

Hinweis: Bitte ändern Sie bei Bedarf die Option 'user-id' (-u) auf eine freie ID und 'group-id' (-g) auf die Gruppe 'daemon' (hier: 2).

Anschließend erlauben wir dem User 'mysql' Zugriff auf unser MySQL-Zielverzeichnis:

Benutzerrechte für mysql-Verzeichnis festlegen
linux:/opt/mysql # chown -R mysql mysql-4.0.16

Starten und Stoppen des MySQL-Servers

Nun sind alle Vorbereitungen getroffen und wir können den MySQL-Server zum ersten Mal starten:

Starten von MySQL
linux:/opt/mysql # /etc/init.d/mysql.server start

Bei erfolgreichem Start wird folgender Hinweis ausgegeben:
Starting mysqld daemon with databases from /opt/mysql/mysql-4.0.16/data

Zur Information: Um den Server wieder zu stoppen, verwenden Sie das mysql.server Skript mit einem anderen Parameter:

Stoppen von MySQL
linux:/opt/mysql # /etc/init.d/mysql.server stop

Wurde der Server erfolgreich gestoppt, erhalten Sie eine Meldung der Art:
Killing mysqld with pid 14410
Wait for mysqld to exit\c
040224 16:40:34 mysqld ended
done

Es ist im Moment nicht notwendig, den Server wieder zu stoppen. Sie können gerne ausprobieren, den Server zu stoppen - solange Sie ihn anschließend wieder starten.

Update der 'grant tables'

Dieser Schritt führt ein Update für verschiedene Datenbanktabellen durch:

Rechtetabellen aktualisieren
linux:/opt/mysql # mysql-4.0.16/bin/mysql_fix_privilege_tables

Eventuell erhalten Sie nach dem Aufruf des Skriptes einige Warnhinweise wegen doppelter Spaltennamen: "Duplicate column name" - diese können Sie ignorieren.

Passwort für MySQL 'root' user anlegen

Als letzten Konfigurationsschritt vergeben wir nun noch ein Passwort für den 'root'-Benutzer der Datenbank.
Zuerst rufen wir die MySQL-Umgebung als Benutzer 'root' auf (-u root) und öffnen dabei die Datenbank mysql:

MySQL als root starten
linux:/opt/mysql # mysql -u root mysql

Nach diesem Aufruf begrüßt Sie MySQL:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13 to server version: 4.0.16
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
Nun geben Sie folgende SQL-Anweisung ein (ersetzen Sie dabei new_password durch Ihr gewünschtes Passwort) und drücken anschließend die Eingabetaste:

Passwort für root-Benutzer setzen
mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');

Danach verlassen Sie die MySQL-Umgebung wieder:

MySQL beenden
mysql> quit

Damit ist die Installation der MySQL Datenbank abgeschlossen.

Kommentare zu Installation von MySQL

Gib jetzt den ersten Kommentar zu diesem Artikel ab!


Kommentar abgeben


(wird nicht veröffentlicht, Gravatar ist eingeschaltet)



* Diese Felder sind für das Kommentieren notwendig

Besucher fanden diese Seite unter folgenden Suchbegriffen:

typo3 mysql · mysql installieren · mysql auf linux installieren · mysql linux user opt · typo3 mysql database setup