Announcement

Collapse
No announcement yet.

ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'xyz'

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'xyz'

    Hallo liebe mySQL Gemeinde,

    ich steige gerade von MySQL 4 auf MySQL 5.5 um und habe folgendes Problem:

    MySQL 5.5 unter Win 7 installiert.
    Als root angemeldet
    Datenbank angelegt mit
    CREATE DATABASE hgkwin;
    User "jutta" angelegt mit
    CREATE USER 'jutta';
    Rechte zugewiesen mit
    mysql> grant all privileges on hgkwin.* to 'jutta';
    Query OK, 0 rows affected (0.00 sec)
    Überprüfung ergibt:
    mysql> show grants for 'jutta';
    +---------------------------------------------------+
    | Grants for jutta@% |
    +---------------------------------------------------+
    | GRANT USAGE ON *.* TO 'jutta'@'%' |
    | GRANT ALL PRIVILEGES ON `hgkwin`.* TO 'jutta'@'%' |
    +---------------------------------------------------+
    2 rows in set (0.00 sec)
    Jetzt melde ich mich als jutta an
    C:\PROGRA~1\MySQL\MYSQLS~1.5\bin>mysql -u jutta

    ABER: use hgkwin ergibt Fehlermeldung:
    mysql> use hgkwin
    ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'hgkwin'
    Wer bin ich?
    mysql> select user();
    +-----------------+
    | user() |
    +-----------------+
    | jutta@localhost |
    +-----------------+
    1 row in set (0.00 sec)
    Welche Rechte habe ich?
    mysql> show databases;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | test |
    +--------------------+
    2 rows in set (0.00 sec)

    Wieso hat jutta keine Rechte für die Datenbank hgkwin?
    Zuletzt editiert von Dusty Müller; 29.01.2012, 20:29.

  • #2
    Wenn du jetzt explizit User 'jutta'@'localhost' nimmst?
    Code:
    CREATE USER 'jutta'@'lcalhost';
    GRANT ALL PRIVILEGES ON hgkwin.* TO 'jutta'@'localhost';
    FLUSH PRIVILEGES;
    Edit:
    Code:
    ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'hgkwin'
    Da fehlt doch noch der Username?
    Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

    Comment


    • #3
      als root durchgeführt:

      mysql> create user 'jutta'@'localhost';
      Query OK, 0 rows affected (0.01 sec)

      mysql> grant all privileges on hgkwin.* to 'jutta'@'localhost';
      Query OK, 0 rows affected (0.00 sec)

      mysql> flush privileges;
      Query OK, 0 rows affected (0.00 sec)
      als user jutta abgemeldet (!) und wieder angemeldet ...
      jetzt geht's! hurra! Auch wenn ich es nicht ganz verstehe

      mysql> use hgkwin
      Database changed
      Die Fehlermeldung kam tatsächlich "mit ohne Usernamen". Fand ich auch komisch.

      Wenn ich mich jetzt nicht von localhost anmelden möchte - muss ich dann den User "jutta"@'%' noch anlegen??

      Und - vielen Dank für die Hilfe natürlich!

      Comment


      • #4
        Originally posted by Dusty Müller View Post
        Wenn ich mich jetzt nicht von localhost anmelden möchte - muss ich dann den User "jutta"@'%' noch anlegen??
        IMHO ja, da du für "beide" User auch verschiedene Rechte zuweisen kannst (Du kannst aber auch vorher testen ob du dich von extern anmelden kannst).
        Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

        Comment


        • #5
          macht irgendwie auch schon wieder Probleme:

          root:
          mysql> drop user 'tanja';
          Query OK, 0 rows affected (0.01 sec)

          mysql> create user 'tanja'@'%';
          Query OK, 0 rows affected (0.00 sec)

          mysql> grant all privileges on hgkwin.* to 'tanja'@'%';
          Query OK, 0 rows affected (0.00 sec)

          mysql> flush privileges;
          Query OK, 0 rows affected (0.00 sec)
          mysql -utanja

          mysql> use hgkwin
          ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'hgkwin'
          Wer bin ich und was darf ich?

          mysql> show grants for current_user;
          +--------------------------------------+
          | Grants for @localhost |
          +--------------------------------------+
          | GRANT USAGE ON *.* TO ''@'localhost' |
          +--------------------------------------+
          1 row in set (0.00 sec)

          mysql> select user();
          +-----------------+
          | user() |
          +-----------------+
          | tanja@localhost |
          +-----------------+
          1 row in set (0.00 sec)
          Warum geht das nicht?

          Comment


          • #6
            Hm, 'tanja'@'%' heisst doch das du dich von extern einloggen musst, fürs einloggen zum localhost musst du doch wieder 'tanja'@'localhost' nehmen.
            Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

            Comment


            • #7
              Ach so ... ich dachte 'Tanja'@'%' wäre Tanja @anywhere einschl. localhost. Na gut, muss ich mal ausprobieren :-)

              Comment


              • #8
                Wenn ich das richtig in Erinnerung habe, ist das von einer Einstellung in der my.cnf abhängig.
                Bei SQL-Code bitte beachten: Formatierung von SQL in Beiträgen

                Comment


                • #9
                  Hab's auf die Schnelle ausprobiert ... `tanja' sich von einem anderen Rechner aus einloggen mit Zugriff auf die hgkwin-Datenbank. Ein Segen ... das Problem ist schon mal gelöst

                  Comment

                  Working...
                  X