2010-07-15 33 views
6

bağlanabilir: (28000)MySQL izni yerel adresinden reddedildi ama komutu aracılığıyla (ssh üzerinden) bir uzak sunucuda benim MySQL veritabanına bağlanmak çalışıyorum uzaktan

mysql -u me -h mydomain.com -p 

Ama ERROR 1045 ile başarısız : kullanıcı için engellendi Erişim .. hata

mysql -u me -h localhost -p 

Works iken

Şimdi bu yalnızca kurulum izinlerini vermediğim için değil, çünkü bu veritabanına yönelik izinler% veya bir kullanıcı için herhangi bir ana bilgisayar için ayarlanmış.

Bu, aynı makineyi kullanarak yerel makinemden sunucuya doğru şekilde bağlanabileceğim gerçeğiyle ispatlanmıştır. yani benim yerel makineden aşağıdaki komutu çalıştırarak çalışır:

mysql -u me -h mydomain.com -p 

Benim soru bu neden olur ve nasıl düzeltebilirim? İzinleri herhangi bir ana bilgisayardan bağlantı kabul etmek üzere ayarlanmış olsa da, neden mysql sunucusuna yerel sunucu yerine etki alanı adını kullandığımda sunucumdan bağlanamıyorum.

cevap

16

Bu, MySQL'in izin hibe yöntemlerini işleme biçiminden kaynaklanır. Uzak bir ana bilgisayardan bağlandığınızda

(veya harici IP yoluyla yerel ana bilgisayardan), bu [email protected]% girişi ( eğer kullandığınız belirli konak için özel bir hibe yoktur!) eşleşir. Ama geri döngü arabirimi ("localhost" IP) veya bir soket üzerinden bağlandığınızda, [email protected] hibe kullanır. Yani iki tane GRANT PRIVILEGES; biri [email protected] ve diğeri [email protected]% için.

İlgili konular