Mysql Error 1044 Datenbank lock failes

Alain Aubert

Legendäres Mitglied
Hi WF

Ich habe heute beim installieren eines open source Scriptes folgenden Fehler erlebt:

QUOTE Database error: lock(Array, write) failed.
MySQL Error: 1044 (Access denied for user: 'user@localhost' to database 'usr_user_1')

Session halted.

Sonstiger Mysqlzugriff erfolgt reibungslos. Daraus muss ich folgern, dass mein user keine Rechte hat seine eigene Datenbank zu lock'en'. Ist das sinnvoll?

Ich hab ein wenig gegoogelt und als Lösung wurde mir empfohlen folgendes in der Mysqlkonsole auszuführen:

QUOTE grant all on usr_user_1.* to user identified by 'password'
flush privileges

Irgendwie blick ich nicht ganz durch, was der Fehler überhaupt bedeutet, hat der User nicht standardmässig die Rechte seiner Datenbank?

Unglücklicherweise gibt mir Mysql mit 0 rows affected einen klaren Grund wie sich da aber nichts ändert, wenn ich das probier.

Hat jemand eine Idee wo mein Fehler liegt?
 
QUOTE Ist aber für webanwendungen kaum empfehlenswert.

Ok, das war grundsätzlich der Auslöser der Nachfrage, thx für den Link, schau ich morgen an ;-)

Anyway funktioniert dieser grant all nicht, da er einfach sagt "0 rows affected". Was hat es damit auf sich?
 
wie war das nochmal gleich...? also grant all bewirkt nicht, nach was es sich anhört, sondern soll erst noch implementiert werden oder sowas. jedenfalls gibt es einem nutzer nicht wirklich viele rechte.
 
QUOTE da er einfach sagt "0 rows affected".
Der user und das passwort sind korrekt geschrieben im Grant und existieren so auch im mysql ?
 
Der User und das Passwort sind korrekt.

Ob Grant in Mysql existiert versteh ich nicht ganz, da ich faszinierend wenig über Mysql weiss, für das ich es eigentlich schon eine Weile benutze.

Was ich jetzt gemacht habe um das Problem zu lösen:
QUOTE
mysql -uroot -p
show databases;
use mysql; //aha, dort scheinen mysqlinfos gespeichert zu sein
show tables;
select * from user; //aha, eine Tabelle mit allen Userinformationen, cool
update user set Lock_tables_priv='Y' where user='user' and Host='localhost';

Mit Grant konnte ich nicht arbeiten, aber nachdem ich einmal die Tabelle Users gesehen hab, hats geklingelt...

Danke für die Hilfestellung.
 
Zurück
Oben