Подтвердить что ты не робот

Как включить просмотр дизайнера phpMyAdmin?

Я запускаю phpMyAdmin локально, и я пытаюсь включить инструмент Designer.

Screenshot of phpMyAdmin's Designer view

Как включить просмотр дизайнера для phpMyAdmin?

Я прочитал несколько руководств о том, как включить представление Designer для phpMyAdmin, и все они имеют разные направления, которые никогда, похоже, не работают.

Я использую версию 4.0.7

4b9b3361

Ответ 1

Следующие шаги позволят конструктору в phpMyAdmin 4+ предположить, что phpMyAdmin находится внутри папки phpMyAdmin:

  • Откройте phpMyAdmin/config.inc.php и phpMyAdmin/config.sample.inc.php.
  • Найдите настройки хранилища конфигурации phpMyAdmin в config.sample.inc.php (строки 38-66 в 4.0.7).
  • Скопируйте все файлы управления и хранилища db/table и вставьте его в config.inc.php. Когда вы закончите, ваш config.inc.php должен включить что-то вроде этого:

4.0.7 Пример:

/* change this info to whatever user has read-only access to the "mysql/user" and "mysql/db" tables */          
$cfg['Servers'][$i]['controluser']   = 'root'; //this is the default user for MAMP mysql
$cfg['Servers'][$i]['controlpass']   = 'root'; //this is the default password for MAMP mysql

/* this information needs to line up with the database we're about to create so don't edit it unless you plan on editing the SQL we're about to run */
$cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';  
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';

Примечание. Мы просто сообщаем phpMyAdmin, какие имена в базе данных и таблицах будут хранить конкретные данные конфигурации. Теперь добавьте базу данных.

  • phpMyAdmin устанавливает с SQL нам нужно создать базу данных, на которую опирается дизайнер. Нам просто нужно найти script. В 4.0.7 расположение файла phpMyAdmin/examples/create_tables.sql. Кроме того, вы можете скопировать/загрузить это из phpMyAdmin github.
  • После того, как вы найдете файл, либо импортируйте файл, либо скопируйте его/вставьте в окно SQL и выполните в phpMyAdmin.
  • Теперь все должно быть правильно настроено. Нам нужно очистить файлы cookie и перезапустить браузер.
  • Когда вы открываете резервное копирование phpMyAdmin, перейдите к определенной таблице, и на вкладках вы увидите вкладку "Дизайнер".

Отказ от ответственности: эти указания специально основаны на новой структуре папок в phpMyAdmin 4 +.. Вы можете применять те же направления, используя phpMyAdmin github config.sample.php и сопровождающий create-table.sql. Выберите версию phpMyAdmin, выбрав правильную ветку.

Ответ 2

Это может сбить с толку, если вы просто следуете другому ответу. Да, вам нужно изменить конфигурацию, как описано, но эта конфигурация относится к пользователю MySQL со специальными привилегиями. Это объясняется здесь: https://wiki.phpmyadmin.net/pma/controluser в разделе о функциях pmadb. Таким образом, есть два шага: (копирование с связанной страницы)

  • В mysql:

    GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin. * TO 'pma' @'localhost';

  • В./config.inc.php:

    $cfg ['Servers'] [$ i] ['controluser'] = 'pma'; // Использовать здесь любое имя пользователя, созданное выше $ cfg ['Servers'] [$ i] ['controlpass'] = 'pmapass'; // используем здесь пароль для соответствия этому пользователю

Ответ 3

Для Debian Jessie, 8.6 w/phpMyAdmin 4: 4.2.12-2 + deb8u2 здесь, как я решил это:

Я знаю, что это довольно активно. Очевидно, что что-то не так с установщиком, но я не знаю, с чего начать исправление. Так что это обходной путь на данный момент. Похоже, что у этой проблемы много проблем, и кажется, что существует множество решений, которые работают в разных версиях.


0) Как указано в примечаниях по установке Debian здесь Я сделал это первым. Это не решило проблему, но, возможно, это помогло. Он повторно задает вам вопросы, а параметр -p low обязательно спросит всех из них:

dpkg-reconfigure -plow phpmyadmin

В нем говорится: "он создает базу данных phpmyadmin" (и ее таблицы), но это не так, поэтому мы создадим их вручную ниже.


1) Запустите phpMyAdmin, введя его в свой браузер (вам нужно иметь поддержку PHP на вашем веб-сервере). Вам понадобятся имя пользователя и пароль для вашего сервера MariaDB или MySQL. Обычно имя пользователя - root. Для меня сервер локальный, поэтому мой выбор сервера - localhost:

 http://localhost/phpmyadmin/

2) Разархивируйте /usr/share/doc/phpmyadmin/examples/create _tables.sql.gz и извлеките SQL. Мне пришлось использовать редактор, чтобы отключить строки комментариев, начиная с "-".

((ПРИМЕЧАНИЕ. Я думаю, что этот архив может быть временно поврежден, поскольку он дает ошибку при попытке вручную разархивировать его. Но вы можете использовать этот трюк, чтобы открыть его:

 dd if=create_tables.sql.gz  | gunzip -f 

Также открывается графический интерфейс "Open With Archive Manager".

3) Выберите вкладку SQL, вставьте этот sql из # 2 в поле SQL, и нажмите "Перейти", чтобы создать базу данных и таблицы. (Это недостающий SQL, который предположительно находится в /etc/phpmyadmin/sql/create _tables.sql.)

4) Создайте пользователя sql с именем 'pma'. Откройте phpMyAdmin, выберите Главная | Пользователи | Добавьте пользователя и добавьте нового пользователя с именем "pma" следующим образом:

User name: Use text field: pma 
Host: Local: localhost 
Password: Use text field: <enter a new password for user pma>

Global privileges (leave all boxes unchecked)

5) Дайте пользователю pma полный доступ к новой базе данных phpmyadmin. Снова выберите Главная | Пользователи | Изменить привилегии для пользователя pma. Теперь тщательно... Выберите "База данных" в верхней части экрана. Рядом с 'Добавить привилегии в следующей базе данных:' выберите phpmyadmin. Затем нажмите "Проверить все" и нажмите "Перейти".

ПРИМЕЧАНИЕ. Глобальные привилегии для pma все равно должны быть неконтролируемы!

6) Измените /etc/phpmyadmin/config -db.php и измените следующие строки:

 $dbuser='pma';
 $dbpass='<your pma user password>';

7a) Раскомментируйте следующие строки в /etc/phpmyadmin/config.inc.php:

/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';

/* Server parameters */
if (empty($dbserver)) $dbserver = 'localhost';
$cfg['Servers'][$i]['host'] = $dbserver;

if (!empty($dbport) || $dbserver != 'localhost') {
    $cfg['Servers'][$i]['connect_type'] = 'tcp';
    $cfg['Servers'][$i]['port'] = $dbport;
}
//$cfg['Servers'][$i]['compress'] = false;

/* Select mysqli if your server has it */
$cfg['Servers'][$i]['extension'] = 'mysqli';

/* Optional: User for advanced features */
$cfg['Servers'][$i]['controluser'] = $dbuser;
$cfg['Servers'][$i]['controlpass'] = $dbpass;

/* Optional: Advanced phpMyAdmin features */
$cfg['Servers'][$i]['pmadb'] = $dbname;
$cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
$cfg['Servers'][$i]['relation'] = 'pma__relation';
$cfg['Servers'][$i]['table_info'] = 'pma__table_info';
$cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
$cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
$cfg['Servers'][$i]['column_info'] = 'pma__column_info';
$cfg['Servers'][$i]['history'] = 'pma__history';
$cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';

7b) Также раскомментируйте следующие строки в /etc/phpmyadmin/config.inc.php и измените controluser на 'pma', а также добавьте свой пароль в строку 3 ниже:

/* Optional: User for advanced features */
 $cfg['Servers'][$i]['controluser'] = 'pma';
 $cfg['Servers'][$i]['controlpass'] = '<insert your password here>';

/* Storage database and tables */
 $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
 $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
 $cfg['Servers'][$i]['relation'] = 'pma__relation';
 $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
 $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
 $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
 $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
 $cfg['Servers'][$i]['history'] = 'pma__history';
 $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
 $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
 $cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
 $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
 $cfg['Servers'][$i]['recent'] = 'pma__recent';
 $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
 $cfg['Servers'][$i]['users'] = 'pma__users';
 $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
 $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
 $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';

8) Затем выйти/войти.


Обратите внимание, что в Debian важными каталогами являются:

  • /etc/phpmyadmin/- ваши редактируемые установочные файлы
  • /usr/share/phpmyadmin/libraries - включает установочный файл по умолчанию

Ответ 4

Для меня в MySQL 4.6.0 представление Designer было доступно, но не сохраняло состояние макета.

Затем я сделал следующее, чтобы заставить его работать:

  • создал каталог. /phpmyadmin/config/
  • chmod 777 config
  • перешел в http://localhost/phpmyadmin/setup/ и выполнил основную инструкцию, используя значения по умолчанию
  • то в веб-приложении phpmyadmin появилась красная гиперссылка в нижнем колонтитуле, в которой говорилось что-то о таблице, которая должна быть создана (я не помню точный текст или какой раздел навигации, в котором я был... моя догадка была на базе данных на вкладке операций). Это создало новую таблицу под названием phpmyadmin, и я думаю, что там, где дизайнер сохраняет макеты.

После этого я смог сохранить состояние моего макета конструктора - то есть теперь был включен phpMyAdmin Designer.