# 1142 - команда SELECT запрещена для пользователя '' @'localhost' для таблицы 'pma_table_uiprefs'

Надеюсь, кто-то может мне помочь, потому что я спросил в Интернете без успеха или конкретного ответа на эту ошибку. Я использую Windows и Xampp. Вот ошибка, которую я получаю после того, как я недавно импортировал базу данных в phpmyadmin...

#1142 - SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'

После того, как я импортирую базу данных, все будет нормально в phpmyadmin, пока я не выйду из системы, а затем снова войду в систему, вот в чем проблема. Когда я нажимаю на любую из таблиц из импортированной базы данных, я получаю следующие ошибки...

SELECT 'prefs'
FROM 'phpmyadmin'.'pma_table_uiprefs'
WEHRE 'username' = 'root'
AND 'db_name' = 'afdb'
AND 'table_name' = 'role'

#1142 - SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'

Еще раз спасибо за то, что вы нашли время, чтобы прочитать мой пост, и, надеюсь, кто-то может помочь мне с этой ошибкой.

Ответы

Ответ 1

В таблице pma_table_uiprefs содержатся пользовательские настройки. В phpMyAdmin config.inc.php доступ к этой таблице (и другим таблицам в хранилище конфигурации) осуществляется через пользователь управления. В вашем случае параметр controluser пуст, поэтому запрос завершается с ошибкой.

Для краткосрочного исправления поместите символы "//" в config.inc.php в начале этой строки:

    $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';

затем выйдите из системы и зайдите в систему.

Для долговременного исправления правильно настройте хранилище конфигурации, см. http://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage

Ответ 2

Есть другой способ решения этого вопроса.

Следуя инструкциям в http://docs.phpmyadmin.net/en/latest/setup.html#phpmyadmin-configuration-storage:

1.- Я нашел файл xampp\phpMyAdmin\config.inc.php и нашел следующие строки:

/* User for advanced features */\\

$cfg['Servers'][$i]['controluser'] = 'pma';

$cfg['Servers'][$i]['controlpass'] = '';

2. Затем я наблюдал в phpmyadmin следующие таблицы:

БАЗА ДАННЫХ: phpmyadmin

ТАБЛИЦА: pma_bookmark pma_column_info pma_designer_coords pma_history pma_pdf_pages pma_recent pma_relation pma_table_coords pma_table_info pma_table_uiprefs pma_tracking pma_userconfig

3.- Я запустил этот sql-оператор:

 GRANT SELECT , INSERT , UPDATE , DELETE ON phpmyadmin.* TO  `pma`@`localhost` IDENTIFIED BY  ''

И это сработало.

Ответ 3

Я наткнулся на эту проблему и решил ее , просто выйдя из программы phpMyAdmin и снова войдя в нее.

Click here to log out of phpMyAdmin


ОБЪЯСНЕНИЕ

Посмотрите на запрос сообщения об ошибке:

SELECT command denied to user ''@'localhost' for table 'pma_table_uiprefs'

Это происходит из-за того, что MySQL запрещает доступ пользователю "" (пусто) на сервере localhost. Настройка по умолчанию - блокировать все запросы от анонимных пользователей.

Выйдя из системы, мы заставляем phpMyAdmin "забыть" текущего пользователя и дать нам ввести учетные данные для входа на сервер MySQL.

Ответ 4

На ubuntu попробуйте dpkg-reconfigure phpmyadmin и заново создайте базу данных phpmyadmin. Я установил using ansible, и это не было сделано.

Ответ 5

  • Откройте файл config.inc.php с C:\xampp\phpmyadmin

  • Поместите символы "//" в config.inc.php в начале следующей строки:

    $cfg ['Servers'] [$ i] ['pmadb'] = 'phpmyadmin';

    Пример://$cfg ['Servers'] [$ i] ['pmadb'] = 'phpmyadmin';

  • Перезагрузите phpmyadmin на localhost.

Ответ 6

Если вы используете путь XAMPP ($ cfg ['Servers'] [$ i] ['pmadb'] = 'phpmyadmin';) C:\xampp\phpmyadmin\config.inc.php(возможно, XAMPP1.8 в строке номер 34)

Другое решение: Я сталкиваюсь с проблемой такого же типа "# 1142 - команда SELECT запрещена для пользователя '' @'localhost' для таблицы 'pma_recent'"

  • открыть phpmyadmin == > параметр == > Навигационный фрейм == > Недавно использованные таблицы == > 0 (установить значение 0) == > Сохранить

Ответ 7

Я знаю, это может показаться абсурдным, но я решил аналогичную проблему, создав базу данных как "phpMyAdmin", а не "phpmyadmin" (блок примечаний) - возможно, что-то происходит в случае чувствительности к регистру под Windows?

Ответ 8

Комментарий к этой строке работал у меня: $cfg ['Servers'] [$ i] ['pmadb'] = 'phpmyadmin'; Но я нашел несколько файлов config.inc.php на моем компьютере, потому что у меня было несколько установок MySQL и php haha. Я изменил его, найдя один под Xampp, просто нажав на кнопку конфигурации под Apache для панели управления Xampp, а затем прокомментировал строку.//

Ответ 9

Один из способов решения этого вопроса - войти в свой root-пользователя в phpmyadmin, перейти на вкладку "Пользователи", найти и выбрать конкретного пользователя, который не может получить доступ к выбору и другим запросам. Затем отметьте все флажки и просто нажмите go. Теперь пользователь может выбрать, обновить и все, что захочет.

Ответ 10

Другой вариант - отключить эту функцию. Если мы разрешаем доступ на сервер только для чтения Отключить pmadb

  1. добавить конфиг для сервера
$cfg['Servers'][$i]['userconfig'] =false;
$cfg['Servers'][$i]['pmadb'] = false;
$cfg['Servers'][$i]['bookmarktable'] = false;
$cfg['Servers'][$i]['relation'] = false;
$cfg['Servers'][$i]['table_info'] = false;
$cfg['Servers'][$i]['table_coords'] = false;
$cfg['Servers'][$i]['pdf_pages'] = false;
$cfg['Servers'][$i]['column_info'] = false;
$cfg['Servers'][$i]['history'] = false;
$cfg['Servers'][$i]['table_uiprefs'] = false;
$cfg['Servers'][$i]['tracking'] = false;
$cfg['Servers'][$i]['designer_coords'] = false;
$cfg['Servers'][$i]['userconfig'] = false;
$cfg['Servers'][$i]['recent'] = false;
  1. и обновить сеанс (браузер с частной вкладкой или другой)

Ответ 11

Попробуйте это прежде всего - "очистите кеш". Я была такая же проблема. Мне было приказано очистить кэш. Это сработало.

Ответ 12

У меня была такая же проблема, и это могло бы выглядеть так просто, но это решило мою проблему. Я перепробовал все решения, рекомендованные здесь, но не было никаких проблем только день назад. Поэтому я подумал, что проблема может быть в данных сеанса. Я пытался остановить и запустить службы Apache и MySQL, но это также не сработало. Затем я понял, что на phpMyAdmin есть кнопки под логотипом с левой стороны. Кнопка рядом с "Домой"; "Пустые данные сеанса" решили все мои проблемы.