Aus der MySQL Usertabelle ausgesperrt

Joost

Aktives Mitglied
Thread Starter
Dabei seit
09.10.2004
Beiträge
444
Reaktionspunkte
13
Hallo,

also, wie es scheint habe ich mich aus meiner eigenen MySQL user-Tabelle ausgesperrt. Jedenfalls habe ich, wenn ich mich unter dem vordefinierten Benutzer "root" anmelde trotzdem nicht die vollen Zugriffsrechte sondern nur Lesezugriff. Aber alles der Reihe nach, was ich gemacht habe:

System OS X 10.3.5

1. PHP installiert, Version 4.3.9, funktioniert laut "test.php" auch wunderbar, dürfte auch mit dem Problem nicht viel zu tun haben.

2. Nach dieser Anleitung http://developer.apple.com/internet/opensource/osdb.html einen Benutzer mit Namen "mysql" angelegt (Zuerst nach Methode 1 und dann auch nochmal nach Methode 2, was scheinbar beides funktioniert hat - wie kann ich das überprüfen?)

3. Die MySQL Version "mysql-standard-4.0.21-apple-darwin7.5.0-powerpc.tar" runtergeladen und nach oben genannter Anleitung installiert.
Auch das schien funktioniert zu haben, hat es aber wohl doch nicht, jedenfalls geht mein Anmeldeversuch mit dem Benutzer "root" so aus:

Prometheus:/usr/local/mysql Joosthartwig$ mysql -u root
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
Prometheus:/usr/local/mysql Joosthartwig$ mysql -u root -p
Enter password:
ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)


Bei der Passworteingabe habe ich es mit meinem Systempasswort versucht und ganz ohne (so sollte MySQL den Account "root" ja eigentlich anlegen - ohne Passwort).

Wenn ich mich als Nutzer "mysql" anmelde, gelingt das auch ohne Probleme:

Prometheus:/usr/local/mysql Joosthartwig$ mysql -u mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11 to server version: 4.0.21-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>


Allerdings spricht diese Anmeldung scheinbar nur dem Lesezugriff eines beliebigen Nutzers ohne Passwort, denn wenn ich die Benutzerrechte des Nutzer "mysql" abfragen will bekomme ich folgenden Fehler:

mysql> show grants for mysql;
ERROR 1044: Access denied for user: '@localhost' to database 'mysql'
mysql>


Bei der Installation muss also irgendwas mit der Benutzertabelle passiert sein. Dann habe ich mir mal das Verzeichnis von mysql ein bißchen genauer angesehen:

Prometheus:/usr/local/mysql Joosthartwig$ ls -fla
total 96
drwxr-xr-x 21 root wheel 714 21 Oct 16:37 .
drwxr-xr-x 10 root wheel 340 22 Oct 15:59 ..
drwxr-xr-x 2 root wheel 68 21 Oct 16:10 --force
drwxr-xr-x 52 root wheel 1768 21 Oct 16:40 bin
-rwxr-xr-x 1 root wheel 773 7 Sep 05:32 configure
-rw-r--r-- 1 root wheel 19106 7 Sep 05:18 COPYING
drwxr-x--- 10 mysql wheel 340 25 Oct 14:31 data
drwxr-xr-x 7 root wheel 238 21 Oct 16:37 docs
-rw-r--r-- 1 root wheel 5029 7 Sep 05:18 EXCEPTIONS-CLIENT
drwxr-xr-x 53 root wheel 1802 21 Oct 16:37 include
-rw-r--r-- 1 root wheel 8361 7 Sep 05:18 INSTALL-BINARY
drwxr-xr-x 10 root wheel 340 21 Oct 16:37 lib
drwxr-xr-x 3 root wheel 102 21 Oct 16:37 man
drwxr-xr-x 10 root wheel 340 21 Oct 16:37 mysql-test
-rw-r--r-- 1 root wheel 1937 7 Sep 00:29 README
drwxr-xr-x 2 mysql wheel 68 21 Oct 15:44 run
drwxr-xr-x 3 root wheel 102 21 Oct 16:37 scripts
drwxr-xr-x 3 root wheel 102 21 Oct 16:37 share
drwxr-xr-x 31 root wheel 1054 21 Oct 16:37 sql-bench
drwxr-xr-x 13 root wheel 442 21 Oct 16:37 support-files
drwxr-xr-x 21 root wheel 714 21 Oct 16:37 tests


Eigentlich sollte es da doch auch ein Verzeichnis "/var" geben, in dem die Zugriffsrechte gespeichert sind, oder? Ist also offenbar nicht mitinstalliert worden. Den Versuch das Verzeichnis anzulegen endet auch nicht erfolgreich:

Prometheus:/usr/local/mysql Joosthartwig$ sudo /usr/local/mysql/bin/mysql_install_db --force
Password:
sudo: /usr/local/mysql/bin/mysql_install_db: command not found


Dann habe ich versucht, mysql nochmals komplett neu zu installieren. Leider ohne die alte Installation vorher zu entfernen, weil ich keine Ahnung habe, wie das funktioniert (auch hier bin ich für Tips dankbar). Das Ergebnis war das gleiche, allerdings weiß ich natürlich nicht, ob nicht Teile der alten Installation dort querschießen.

Die letzte Idee, die ich noch hatte, war den MySQL-server runterzufahren und die grant-Tabellen neu zu laden. Nach der Anleitung "http://dev.mysql.com/doc/mysql/de/Access_denied.html" geht das auch ganz einfach, leider wird mir der Zugriff auf den server-shutdown auch verwerrt. Etwas paradox das Ganze, weil ich um den Server neuzustarten ein SQL-Passwort brauche, dass ich nicht habe, weil ich es ja gerade versuche wiederherzustellen.

Vielleicht hat jemand eine Idee, ich wäre sehr dankbar für Anregungen. Wenn mir jemand sagen kann, wie ich eine MySQL Installation wieder vollständig entferne, mache ich mich auch an eine Neuinstallation.

Danke Joost
 
Problem gelöst

Hallo wegus,

Danke für deine Hilfe, mit der Anleitung hab ich es geschafft. Allerdings lag der Fehler nicht bei der MySQL-Tabelle sondern an mir. Mein Standart-OS X-Nutzer hat keine superuser-Rechte und konnte deshalb nicht die Tabellen ändern. Für alle, die das Problem auch haben, einfach im Terminal "sudo -s" eingeben, dann wird man nach dem Passwort gefragt und anschließend kann man als Benutzer #root alle Einstellungen vornehmen.
Da ich Unix Neuling bin, hab ich das natürlich nicht gewußt. Naja, jetzt klappt alles. Danke nochmal.

Joost
 
Zurück
Oben Unten