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.
Inhalt
- Den MySQL-Quellcode beziehen
- configure, make, make install
- Initialisierung von MySQL
- Start-/Stopp-Skript einrichten
- Konfigurationsdatei 'my.cnf' anpassen
- Möglicher Fehler bei make
- Benutzerrechte und Dateirechte für MySQL
- Starten und Stoppen des MySQL-Servers
- Update der 'grant tables'
- Passwort für MySQL 'root' user anlegen
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.
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.
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:
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:
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:
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.
#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:
linux:/opt/mysql/mysql-4.0.16-install # make
Nun sollte die Kompilierung ohne weitere Probleme funktionieren.
Schließlich installieren wir das Paket:
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.
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:
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 ...
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].
[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:
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:
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:
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:
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:
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:
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:
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:
mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');Danach verlassen Sie die MySQL-Umgebung wieder:
mysql> quit
Weiterlesen
Gib jetzt den ersten Kommentar zu diesem Artikel ab!
Besucher fanden diese Seite unter folgenden Suchbegriffen: