У доступі до Mysql помилка відхилена


9

У мене є загальна проблема, але звичайні рішення не працюють, тому вибачення за те, що на перший погляд може здатися раніше заданим питанням.

У мене є така помилка при спробі перегляду сайту на моєму локальному сайті

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

Посвідчення використовуються неправильно, але я не знаю, звідки вони беруться. Я перевірив app / etc / local.xml і в ньому є всі правильні облікові дані. Я видалив усі інші файли xml з каталогу (крім config.xml). Я видалив вміст папки var (багато разів)

У мене є інші сайти magento, які працюють на моїй локальній, тому настройки мого сервера повинні бути нормальними. Я дуже наткнувся на це і не знаю, який наступний крок мені слід зробити. Будь-яка допомога буде вдячна.


Я б перейшов до методу підключення в адаптері БД і безпосередньо перед викликом методу підключення розміщую щось на кшталт: '$ e = новий виняток (); Mage :: log ($ e-> getTraceAsString (), null, 'logname', true); ' отримання такого сліду є більш компактним. Потім у цьому сліді дивіться будь-які незвичайні шляхи коду. Також запишіть фактичні облікові дані, які передаються в PDO.
Петро Джамбазов

Відповіді:


8

Вам потрібно зробити так, щоб користувач sitename@localhostмав доступ до бази даних та таблиць, про які йдеться. Використовуйте наступний SQL як корінь або суперпользователь в екземплярі MySQL для надання привілеїв:

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

Для отримання додаткової інформації про гранти в MYSQL див. Посібник: http://dev.mysql.com/doc/refman/5.1/uk/grant.html


Дякую за відповідь. Я натрапив на цей варіант раніше, але не думав, що він буде працювати. Оскільки користувач: 'ім'я сайту' та pass: 'так' не є правильними / вказаними даними DB, я припустив, що це насправді не вирішує проблему використовуваних неправильних даних або може якимось чином знайти деталі в додатку / etc / local.xml після можливість один раз підключитися до db з неправильними деталями
developer

Існує різниця між прямим доступом до mysql та над "localhost", який здійснюється через мережу. Вам потрібно надати чітке місце у локальному хості.
philwinkle

2
запам’ятайте і біжіть: flush privilegesпісля вашої грантної команди
Меттью Хаворт

5

У разі відміни local.xml шукайте на вашому сайті файли, що містять щось на зразок <username>sitename</username>. Для такої роботи я віддаю перевагу ack :

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

... або навіть просто:

ack sitename app/

4

Спробуйте очистити кеш, можливо, ви використовуєте сторонні шари кешування, відключіть їх. Останній варіант - перейменувати додаток / etc / local.xml та відкрити веб-сайт, Magento повинен запустити процес встановлення, під час встановлення надавати старий ключ шифрування з local.xml.


1

Усі інші відповіді були чудовим способом звузити всі можливості щодо того, що могло бути проблемою. За це я відчув, що кожен з них заслужив підсумковий голос. Вони безпосередньо не вирішили мою проблему, тому я відчув, що я повинен дати відповідь, як люб'язно, а також тому, що багато людей використовують wordpress з магенто.

Цей конкретний сайт використовує wordpress як модуль. Цей модуль містить дані DB, а також звичайний додаток magento / etc / local.xml. Мені не було відомо, що цей модуль відображається майже на всьому сайті та має відношення до бази даних. Як результат, це унеможливлювало перегляд сайту, не змінюючи тут також деталей.


0

У мене була така ж проблема, вирішивши це для мене:

  1. Завантажте оригінальну версію Magento
  2. створити резервну копію програми / тощо (наприклад: app / _etc)
  3. Завантажте оригінальний додаток / тощо з оригінальної папки Magento
  4. Зайдіть на ваш сайт і зробіть процес установки Magento, я використав своє оригінальне ім'я бази даних, настройки бази даних (користувач / pw) та ключ шифрування.
  5. Завантажте свою програму / тощо / модулі в нову папку ETC
  6. Після установки я міг увійти та очистити кеш. Веб-сайт знову працював, як і раніше.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.