MySQL erişim reddedildi hatası


9

Ortak bir sorunum var ama her zamanki çözümler işe yaramıyor, bu yüzden ilk görünüşte daha önce sorulan bir soru gibi görünebilir.

Sitemi yerel cihazımda görüntülemeye çalışırken şu hatayla karşılaşıyorum

    Access denied for user 'sitename'@'localhost' (using password: YES)

Kimlik bilgileri yanlış kullanılıyor ama nereden geldiklerini bilmiyorum. App / etc / local.xml dosyasını kontrol ettim ve tüm doğru kimlik bilgilerine sahip. Diğer tüm xml dosyalarını dizinden kaldırdım (config.xml hariç). Var klasörün içeriğini sildim (defalarca)

Yerel magen üzerinde çalışan diğer magento siteleri var, bu yüzden sunucu ayarlarım iyi olmalı. Bunu gerçekten çok üzdüm ve bir sonraki adımı atmam gerektiğini bilmiyorum. Herhangi bir yardım mutluluk duyacağız.


Ben DB bağdaştırıcısında connect yöntemine gitmek ve bağlantı yöntemine çağrı hemen önce gibi bir şey yerleştirin: '$ e = new Exception (); Mage :: log ($ e-> getTraceAsString (), null, 'logname', true); ' bu şekilde iz almak daha kompakttır. Sonra bu iz herhangi bir tek kod yolları için bakın. Ayrıca PDO'ya iletilen gerçek kimlik bilgilerini de günlüğe kaydedin.
Petar Dzhambazov

Yanıtlar:


8

Kullanıcının söz sitename@localhostkonusu veritabanına ve tablolara erişmesini sağlamanız gerekir . Ayrıcalıkları vermek için MySQL örneğinde aşağıdaki SQL'i kök veya süper kullanıcı olarak kullanın:

GRANT ALL ON magento_local.* TO 'sitename'@'localhost';

MYSQL'deki Hibeler hakkında daha fazla bilgi için kılavuza bakın: http://dev.mysql.com/doc/refman/5.1/en/grant.html


Cevap için teşekkürler. Bu seçeneğe daha önce rastladım ama işe yarayacağını düşünmedim. Kullanıcı: 'sitename' ve pass: 'yes' doğru / belirtilen db kimlik bilgileri olmadığından, bunun kullanılan yanlış ayrıntılar sorununu gerçekten çözmediğini veya bir şekilde app / etc / local.xml'de ayrıntıları bulabileceğini varsaydım. db'ye bir kez yanlış detaylarla bağlanabilmek
developphper

MySQL'e doğrudan ve ağ üzerinden 'localhost' üzerinden erişim arasında bir fark vardır. Localhost konumuna açıkça vermeniz gerekir.
philwinkle

2
hatırlayın ve çalıştırın: flush privilegeshibe komutunuzdan sonra
Matthew Haworth

5

Local.xml geçersiz kılınmışsa, sitenizde benzer bir şey içeren dosyaları arayın <username>sitename</username>. Bu tür işler için ack'i tercih ederim :

ack --xml "<username>.*sitename.*</username>" app/

... hatta sadece:

ack sitename app/

4

Önbelleği temizlemeye çalışın, belki 3. taraf önbellek katmanlarını kullanıyorsanız devre dışı bırakın. Son seçenek app / etc / local.xml ve web sitesini yeniden adlandırmaktır, Magento kurulum işlemini çalıştırmalıdır, kurulum sırasında local.xml'den eski şifreleme anahtarı sağlar.


1

Diğer tüm cevaplar, sorunun ne olabileceğine dair tüm olasılıkları daraltmanın harika bir yoluydu. Bunun için her birinin yukarı oy hak ettiğini hissettim. Sorunumu doğrudan çözmediler, bu yüzden kendimi bir nezaket olarak cevaplamam gerektiğini hissettim ve ayrıca birçok insan magento ile wordpress kullandığından.

Bu özel site wordpress'i modül olarak kullanmaktadır. Bu modül, db kimlik bilgilerinin yanı sıra her zamanki magento app / etc / local.xml dosyasını içerir. Bu modülün sitenin hemen hemen tamamında oluşturulduğunu ve veritabanıyla ilgili olduğunu bilmiyordum. Sonuç olarak, buradaki ayrıntıları değiştirmeden siteyi görüntülemeyi imkansız hale getirdi.


0

Ben de aynı sorunu yaşadım, aşağıdaki benim için çözüldü:

  1. Magento'nun orijinal sürümünü indirin
  2. uygulamanızı / vb. yedekleyin (ör. uygulama / _etc)
  3. Orijinal uygulamayı / etc dosyasını orijinal Magento klasöründen yükleyin
  4. Sitenize gidin ve Magento kurulum işlemini yapın, orijinal veritabanı adımı, veritabanı ayarlarımı (kullanıcı / pw) ve şifreleme anahtarımı kullandım.
  5. Uygulamanızı / etc / modüllerinizi yeni ETC klasörüne yükleyin
  6. Kurulumdan sonra giriş yapabilir ve önbelleği temizleyebilirim. Web sitesi eskisi gibi tekrar çalışıyordu.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.