Не удается получить доступ к представлениям MySQL при перемещении приложения PHP на другой сервер - PullRequest
3 голосов
/ 29 января 2011

Мой текущий проект касается внесения некоторых изменений в уже созданное веб-приложение (PHP / MySQL). Для отображения данных предыдущий разработчик использовал представления. Я получил приложение на своем компьютере, чтобы ознакомиться с ним, и я не могу заставить эти представления работать (я не получаю никакого вывода в приложении).

Я искал в Интернете это , похоже, проблема , когда вы создаете представление с одним пользователем базы данных, и этот пользователь больше не существует.

Кто-нибудь сталкивался с этим вопросом раньше? Как это можно решить?

Ответы [ 2 ]

4 голосов
/ 29 января 2011

Если вы импортируете представления из файла дампа SQL, они, вероятно, определены следующим образом

CREATE DEFINER = 'userWhoDoesNotExist@thisServer' VIEW viewName AS ....

Попробуйте удалить часть DEFINER =, и представление будет создано с использованием текущей учетной записи пользователя.

1 голос
/ 29 января 2011

, поскольку вы используете сервер на своем компьютере, я предполагаю, что у вас есть root-доступ. Попробуйте использовать что-то вроде

ALTER VIEW brokenView DEFINER='newuser'

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

...