SORU
24 NİSAN 2012, Salı


MySQL ERROR 1045 (28000): Access kullanıcı 'bill'@'localhost için reddedildi' (şifrenizi kullanarak: EVET)

Bana ilk önerilen birçok soru ile gittim söz edelim ve hiçbir ilgili cevap buldu. Ben ne yapıyorum burada.

Amazon EC2 benim örnek bütünleştim. Bu komut ile MySQL root ile giriş yapabilirim

mysql -u root -p

Sonra host % yeni kullanıcı fatura oluşturdum

KULLANICI ''@'' TESPİT ''; . passpass% bill OLUŞTURUN

Kullanıcı bill için tüm ayrıcalıklarına:

tüm yetkileri verin.'bill'@'%' seçeneği grant; . ile

O zaman ben root kullanıcı çıkış ve bill ile giriş yapmayı deneyin:

mysql -u bill -p

doğru şifreyi girdi ve bu hata var:

ERROR 1045 (28000): Erişim kullanıcı için engellendi ''@'(şifrenizi kullanarak: EVET)'. localhost bill

CEVAP
26 HAZİRAN 2012, Salı


Muhtemelen anonim bir kullanıcı ''@'localhost' ''@'127.0.0.1'.

the manual göre:

Birden çok olası maçları, sunucu belirlemek gerekir kullanın onları. Aşağıdaki gibi, bu sorun için çözümler (...)

  • Bir istemci bağlanmayı denediğinde, sunucu satırları arasında görünüyor[tablo mysql.kullanıcı]sıralı düzende.
  • Sunucu istemci ana bilgisayar adı eşleşen ilk satır kullanır ve kullanıcı adı.

(...) Sunucu ile sipariş satırları sıralama kurallarını kullanıren özel Ana ilk değerler. Edebi ana bilgisayar adları[''] localhost gibive IP adresleri en özel.

Dolayısıyla, böyle bir anonim kullanıcı "maskesi localhost bağlanırken" '[any_username]'@'%' gibi başka bir kullanıcı.

'bill'@'localhost' 'bill'@'%', maç yok ama (örneğin) ''@'localhost' beforehands maç olur.

Önerilen çözüm bu anonim kullanıcı (bu genellikle her neyse yapmak için iyi bir şeydir) ve bırakın.


Düzenlemeler ana soruya çoğunlukla alakasız aşağıda. Bunlar sadece bazı sorular bu konu içindeki diğer açıklamalar gündeme cevap vermek içindir.

[1 edit: bir soket ile 'bill'@'%'] kimlik doğrulaması


    root@myhost:/home/mysql-5.5.16-linux2.6-x86_64# ./mysql -ubill -ppass --socket=/tmp/mysql-5.5.sock
    Welcome to the MySQL monitor (...)

    mysql> SELECT user, host FROM mysql.user;
     ------ ----------- 
    | user | host      |
     ------ ----------- 
    | bill | %         |
    | root | 127.0.0.1 |
    | root | ::1       |
    | root | localhost |
     ------ ----------- 
    4 rows in set (0.00 sec)

    mysql> SELECT USER(), CURRENT_USER();
     ---------------- ---------------- 
    | USER()         | CURRENT_USER() |
     ---------------- ---------------- 
    | bill@localhost | bill@%         |
     ---------------- ---------------- 
    1 row in set (0.02 sec)

    mysql> SHOW VARIABLES LIKE 'skip_networking';
     ----------------- ------- 
    | Variable_name   | Value |
     ----------------- ------- 
    | skip_networking | ON    |
     ----------------- ------- 
    1 row in set (0.00 sec)

[2 edit: aynı setup I yeniden aktif ağ dışında, ve ben artık isimsiz bir kullanıcı oluşturmak 11**]


    root@myhost:/home/mysql-5.5.16-linux2.6-x86_64# ./mysql
    Welcome to the MySQL monitor (...)

    mysql> CREATE USER ''@'localhost' IDENTIFIED BY 'anotherpass';
    Query OK, 0 rows affected (0.00 sec)

    mysql> Bye

    root@myhost:/home/mysql-5.5.16-linux2.6-x86_64# ./mysql -ubill -ppass \
        --socket=/tmp/mysql-5.5.sock
    ERROR 1045 (28000): Access denied for user 'bill'@'localhost' (using password: YES)
    root@myhost:/home/mysql-5.5.16-linux2.6-x86_64# ./mysql -ubill -ppass \
        -h127.0.0.1 --protocol=TCP
    ERROR 1045 (28000): Access denied for user 'bill'@'localhost' (using password: YES)
    root@myhost:/home/mysql-5.5.16-linux2.6-x86_64# ./mysql -ubill -ppass \
        -hlocalhost --protocol=TCP
    ERROR 1045 (28000): Access denied for user 'bill'@'localhost' (using password: YES)

[3 edit: aynı durum 2, anonim kullanıcı parolasını sağlamak şimdi değiştir]


    root@myhost:/home/mysql-5.5.16-linux2.6-x86_64# ./mysql -ubill -panotherpass -hlocalhost
    Welcome to the MySQL monitor (...)

    mysql> SELECT USER(), CURRENT_USER();
     ---------------- ---------------- 
    | USER()         | CURRENT_USER() |
     ---------------- ---------------- 
    | bill@localhost | @localhost     |
     ---------------- ---------------- 
    1 row in set (0.01 sec)

Sonuç 1, [edit 1]: bir soket ile 'bill'@'%'kimlik doğrulaması gibi

Sonuç 2, [edit 2]: olsun bir bağlar üzerinden TCP veya bir yuva etkisi üzerinde kimlik doğrulama işlemi (hariç kimse bağlanamıyor gibi başkası 'something'@'localhost' ile bir yuva, tabii ki).

-ubill isimsiz bir kullanıcı olarak erişim izni bulundum belirtilen rağmen. sonuç 3, 3 [edit]: Bu "kurallar" yukarıda. tavsiye sıralama yüzünden En varsayılan kurulumları, 16* *(ve güvenli/kaldırılması gerekir) dikkat edin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Joseph Hayhoe

    Joseph Hayho

    20 Mayıs 2010
  • TouchePro

    TouchePro

    27 EYLÜL 2007
  • waterfairy17

    waterfairy17

    9 Aralık 2007