phpMyAdmin не показывает список таблиц для базы данных, в которой определенно есть таблицы - PullRequest
1 голос
/ 26 марта 2012

У меня есть сайт, написанный на php, использующий базу данных MySQL. После покупки нового ноутбука (Windows 7) я скачал WAMP 2.2 с MySQL 5.5.20, PHP 5.3.10 и phpMyAdmin 3.4.10.1. Я экспортировал всю базу данных с живого веб-сайта и импортировал ее в свою среду wamp, используя консоль MySQL.

phpMyAdmin перечисляет базу данных, но говорит, что в ней нет таблиц. Тем не менее, веб-сайты работают в среде WAMP. Кроме того, если я выполняю SQL "SHOW TABLES" в phpMyAdmin, он отображает таблицы.

Я полностью озадачен, почему эти таблицы не перечислены в крайнем левом столбце phpMyAdmin.

Ответы [ 3 ]

11 голосов
/ 08 ноября 2012

У меня была похожая проблема. Через некоторое копание я обнаружил, что список таблиц phpMyAdmin не работает в этом запросе:

SHOW TABLE STATUS FROM `database`;

И это было сообщение об ошибке:

ERROR 1143 (42000): SELECT command denied to user ''@'localhost'
 for column `column` in table `table`

Что привело меня к такому вопросу: mysql забывает, кто вошел в систему: команда запрещена пользователю '' @ '%'

Это привело меня к выводу, что одно из представлений, загруженных в базу данных, имеет конфликтующие привилегии. Действительно, когда я посмотрел на дамп SQL, из которого я загружал базу данных, я обнаружил, что виновник:

CREATE ALGORITHM=UNDEFINED DEFINER=`someotheruser`@`localhost` ..

Где someotheruser не существовало в моем локальном MySQL. Я изменил это на следующее:

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` ..

И перезагрузил вид, и теперь все работает нормально.

0 голосов
/ 02 марта 2017

Проблема с Определителем, если у вас есть какое-либо представление в базе данных.

Просто отбросьте Представления, и оно должно работать, или вы можете открыть экспортированный файл базы данных в Блокноте и изменить Определитель на root.

0 голосов
/ 13 марта 2014

Просто чтобы помочь кому-то еще, в phpMyAdmin, в config.inc.php, измените это:

$cfg['Servers'][$i]['extension'] = '**mysqli**';

на это:

$cfg['Servers'][$i]['extension'] = '**mysql**';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...