# 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
- добавить конфиг для сервера
$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;
- и обновить сеанс (браузер с частной вкладкой или другой)
Ответ 11
Попробуйте это прежде всего - "очистите кеш". Я была такая же проблема. Мне было приказано очистить кэш. Это сработало.
Ответ 12
У меня была такая же проблема, и это могло бы выглядеть так просто, но это решило мою проблему. Я перепробовал все решения, рекомендованные здесь, но не было никаких проблем только день назад. Поэтому я подумал, что проблема может быть в данных сеанса. Я пытался остановить и запустить службы Apache и MySQL, но это также не сработало. Затем я понял, что на phpMyAdmin есть кнопки под логотипом с левой стороны. Кнопка рядом с "Домой"; "Пустые данные сеанса" решили все мои проблемы.