Ich   Entwicklung   Lösungen Apache PHP mySQL  
 

Ein Passwort für den root-User setzen

Die Benutzerverwaltung ohne grafische Hilfsmittel ist sehr kompliziert. Daher werde ich Ihnen nur kurz zeigen, wie Sie für den root-User ein Passwort setzen können.

Details zur Benutzerverwaltung finden Sie im Abschnitt phpMyAdmin; dieses Tool vereinfacht die Benutzerverwaltung um ein Vielfaches.

Der mysql-Client

Der mysql-Client ist dazu da, SQL-Statements an den Datenbank-Server zu senden. Der mysql-Client wird mit der Datei mysql.exe gestartet. Der Client erwartet, dass Sie sich anmelden und eine Datenbank auswählen, mit der Sie arbeiten möchten.

Gestartet wird der Client wie folgt: mysql -u BENUTZER -p DATENBANK. -p gibt an, dass Sie nach einem Passwort gefragt werden. Nach der Installation sind noch keine Passwörter gesetzt, Sie können dann das -p weglassen.

Sie können die benutzte Datenbank jederzeit mit use DATENBANK; wechseln, wenn Sie sich an der mySQL-Kommandozeile befinden. Beenden können Sie den Client mit exit.

root-Passwort setzen

Es gibt verschiedene Methoden, dass root-Passwort zu ändern. Ich werde hier drei Methoden beschreiben, da sie lehrreich für Anfänger sind.

Passwörter ändern mit mysqladmin

Das Binary mysqladmin ist ein Kommandozeilen-Tool, das Ihnen beim Verwalten des Servers helfen kann (Sie haben bereits gelesen, dass Sie mit mysqladmin shutdown den Server beenden können).

mysqladmin -u root password GEWÜNSCHTES_PASSWORT

Dies ist eine sehr einfache Methode, aber auch sehr fehleranfällig! Nach dem absetzen des obigen Kommandos wird unter Windows nämlich nur ein Passwort für alle Benutzer mit Namen root gesetzt, die von außerhalb des eigenen Rechners zugreifen (Sie werden dies besser verstehen, nachdem Sie den Abschnitt Benutzer & Passwort im Kapitel phpMyAdmin gelesen haben).

Passwörter ändern mithilfe des mysql-Clients und SET PASSWORD

Starten Sie den Client, indem Sie im Verzeichnis C:\server\mysql\bin eingeben:

mysql -u root mysql

Damit melden Sie sich als User root an und geben an, dass Sie mit der Datenbank mysql arbeiten möchten, in der mySQL die Benutzerrechte verwaltet.

Sie sehen daraufhin, dass Sie statt eines normalen Promptes nun einen mysql-Prompt zur Verfügung haben. Geben Sie ein:

SET PASSWORD FOR root@localhost=PASSWORD('GEWÜNSCHTES_PASSWORT');

Um den mysql-Client zu verlassen, geben Sie quit ein.

Mit dieser Methode ändern Sie das Passwort des root-Users, wenn er vom localhost aus auf den Server zugreift, im Gegensatz zur ersten Methode.

Passwörter ändern mithilfe des mysql-Clients und einem SQL-Statement

Sie können mithilfe des mySQL-Clients auch direkt die Datenbank mysql manipulieren, um beide oben genannten Passwörter zu setzen oder verändern. Starten Sie den Client mit mysql -u root mysql (oder mysql -u root -p mysql, wenn Sie bereits ein Passwort angegeben haben). Geben Sie ein:

UPDATE user SET Password=PASSWORD('GEWÜNSCHTES_PASSWORT') WHERE user='root';
FLUSH PRIVILEGES;

Das zweite Kommando sagt mySQL, dass es die Benutzerrechte aktualisieren soll. Das ist nötig, da mySQL die Benutzerdatenbank beim Start in den Speicher legt, um schneller darauf zugreifen zu können. FLUSH PRIVILEGES; bewirkt, dass die Datenbank neu in den Speicher geladen wird.

Auf diese Weise wird das Passwort für den root-User festgelegt, unabhängig davon, ob er vom localhost oder einem anderen Rechner zugreift.

Ist mein mySQL-Server jetzt sicher?

Nein, unter Windows leider nicht. mySQL hat nämlich außer dem root-User noch einen weiteren User angelegt, nämlich einen ohne Benutzername und Passwort. Für diesen ist angegeben, dass er vom localhost aus volle root-Rechte hat, von anderen Rechnern aus nicht.

Dies sehen Sie dadurch, dass Sie sich auch mit mysql mysql am Server anmelden können, also ohne Angabe von Benutzername und Passwort.

Für eine komfortable Benutzerverwaltung empfehle ich phpMyAdmin. Nachdem auf den folgenden vier Seiten grundlegende SQL-Statements erklärt werden, folgen zwei Seiten, auf denen ich erkläre, mit man MySQL 3.23 mit PHP 4 bzw. MySQL 4.1 mit PHP 5 einrichtet und nutzt.

Nach der Einführung in phpMyAdmin erkläre ich schließlich auf der letzten Seite dieser Einführung die mySQL-Benutzerverwaltung mit phpMyAdmin.

SQL: CREATE & DROP weiter

Mit Hilfe des anfangs angesprochenen Config Wizard der neueren MySQL-Versionen können Sie immerhin ein Passwort für den Benutzer root festlegen und den Zugang ohne Benutzernamen verhindern.

Wenn Sie meine Einführung bis hierher befolgt haben und auch weiter beherzigen werden, können Sie die Seite über den config wizard getrost überspringen. Interessant ist der config wizard für Diejenigen, die MySQL nicht manuell konfigurieren möchten.

Der Config Wizard weiter

SQL: CREATE & DROP weiter

URL: www.intermitto.net/mysql/konfig/benutzer/?PHPSESSID=1c93db4ea2ed350e02c21751eb03c35c
© 2004-05 Jens Becker - intermitto.net v5.1
Letzte Änderung: 23.08.2005

Home - Kontaktformular - Downloads - Suche und Sitemap - Impressum
Entwicklung - Problemlösungen - Tutorials: Apache PHP mySQL

user  pass