Akses Mysql ditolak kesalahan

9

Saya memiliki masalah umum tetapi solusi yang biasa tidak berfungsi sehingga permintaan maaf untuk penampilan pertama mungkin tampak seperti pertanyaan yang diajukan sebelumnya.

Saya memiliki kesalahan berikut ketika mencoba melihat situs saya di lokal saya

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

Kredensial yang digunakan salah tetapi saya tidak tahu dari mana asalnya. Saya telah memeriksa app / etc / local.xml dan memiliki semua kredensial yang benar. Saya telah menghapus semua file xml lain dari direktori (kecuali config.xml). Saya telah menghapus isi folder var (beberapa kali)

Saya memiliki situs magento lain yang bekerja di lokal saya sehingga pengaturan server saya harus baik-baik saja. Saya benar-benar bingung tentang ini dan tidak tahu apa langkah selanjutnya yang harus saya ambil. Bantuan apa pun akan dihargai.

pemburu
sumber
Saya akan pergi ke metode koneksi dalam adaptor DB dan tepat sebelum panggilan ke metode koneksi, tempatkan sesuatu seperti: '$ e = new Exception (); Mage :: log ($ e-> getTraceAsString (), null, 'logname', true); ' mendapatkan jejak seperti ini lebih kompak. Kemudian di jejak itu lihat jalur kode aneh. Juga catat kredensial aktual yang diteruskan ke PDO.
Petar Dzhambazov

Jawaban:

8

Anda perlu membuat pengguna sitename@localhostdapat mengakses database dan tabel yang dimaksud. Gunakan SQL berikut sebagai root atau superuser pada instance MySQL untuk memberikan hak istimewa:

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

Untuk informasi lebih lanjut tentang Hibah dalam MYSQL lihat manual: http://dev.mysql.com/doc/refman/5.1/en/grant.html

Philwinkle
sumber
Terima kasih atas jawabannya. Saya menemukan opsi ini sebelumnya tetapi saya tidak berpikir itu akan berhasil. Karena pengguna: 'sitename' dan lulus: 'ya' bukan kredensial db yang benar / ditentukan, saya berasumsi ini tidak benar-benar menyelesaikan masalah rincian yang salah yang digunakan atau dapatkah itu menemukan detailnya di app / etc / local.xml setelah bisa terhubung ke db sekaligus dengan rincian yang salah
develophper
Ada perbedaan antara mengakses mysql secara langsung dan melalui 'localhost' yang melalui jaringan. Anda perlu memberikan secara eksplisit di lokasi localhost.
philwinkle
2
ingat dan jalankan: flush privilegessetelah perintah hibah Anda
Matthew Haworth
5

Dalam kasus local.xml sedang ditimpa cari situs Anda untuk file yang berisi sesuatu seperti <username>sitename</username>. Untuk jenis pekerjaan ini saya lebih suka ack :

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

... atau bahkan hanya:

ack sitename app/
clockworkgeek
sumber
4

Cobalah untuk menghapus cache, mungkin Anda menggunakan lapisan cache pihak ke-3, nonaktifkan. Opsi terakhir adalah mengubah nama aplikasi / etc / local.xml dan membuka situs web, Magento harus menjalankan proses instalasi, selama instalasi menyediakan kunci enkripsi lama dari local.xml.

mageUz
sumber
1

Semua jawaban yang lain adalah cara yang bagus untuk mempersempit semua kemungkinan tentang apa masalahnya. Untuk ini saya merasa masing-masing berhak mendapatkan suara. Mereka tidak secara langsung menyelesaikan masalah saya, jadi saya merasa saya harus memberikan jawaban kepada diri saya sebagai rasa hormat dan juga karena banyak orang menggunakan wordpress dengan magento.

Situs khusus ini menggunakan wordpress sebagai modul. Modul ini berisi kredensial db dan juga aplikasi magento / etc / local.xml. Saya tidak menyadari bahwa modul ini diberikan hampir di seluruh situs dan relevan dengan database. Akibatnya tidak memungkinkan untuk melihat situs tanpa mengubah detail di sini juga.

pemburu
sumber
0

Saya memiliki masalah yang sama, berikut memecahkan ini untuk saya:

  1. Unduh versi asli Magento
  2. cadangkan aplikasi Anda / etc (mis .: app / _etc)
  3. Unggah aplikasi asli / etc dari folder Magento asli
  4. Pergi ke situs Anda dan lakukan proses instalasi Magento, saya menggunakan nama database asli saya, pengaturan database (pengguna / pw) dan kunci enkripsi.
  5. Unggah aplikasi Anda / etc / modules ke folder ETC baru
  6. Setelah instalasi saya bisa login dan menghapus cache. Situs web itu berfungsi kembali seperti sebelumnya.

sumber