When I want to create a relation between two tables in designer mode with phpMyAdmin 4.3.8, it gives me an error saying: Error: relational features are disabled!
When I try it with 4.1.4, it works just fine.
I can’t seem to find where I should change the settings to be able to create relations in designer mode.
Any idea?
Thanks in advance!
asked Jan 29, 2015 at 15:33
Convert your table/db engine to InnoDB using
ALTER TABLE table_name ENGINE=InnoDB;
answered Aug 11, 2016 at 11:00
Mwangi ThigaMwangi Thiga
1,33918 silver badges22 bronze badges
4
I had the same issue, it was because I didn’t have a database on the mysql server for pypMyAdmin settings.
So you may need to update your PMA settings database or create one…
There is a guide on how to do it here
answered Apr 30, 2015 at 8:43
I have faced the same error I didn’t create any PMA Users I just upgraded the version of phpmyadmin to latest version and everything worked just fine
here is the link for downloading and for me it was 4.6.0
https://www.phpmyadmin.net/downloads/
and for me I was working on MAMP Pro so I just did :
- I stopped the server (MAMP Pro).
- I copied the file (config.inc.php) from the old phpmyadmin folder to the new one.
- I replaced the older version with the new one in («/Applications/MAMP/bin/»).
- I copied the same new version folder to («/Library/Application Support/appsolute/MAMP PRO/») because I am working with MAMP Pro not MAMP.
- And then I restarted the server (MAMP Pro ) and everything worked just fine.
I hope it will work for you as well.
answered Mar 24, 2016 at 18:32
NourNour
1,4581 gold badge18 silver badges27 bronze badges
Когда дело доходит до управления базами данных, очень часто приходится пользоваться утилитой PhpMyAdmin. И в стандартной поставке с его помощью можно делать очень много всего. Но, как бы то ни было, у него есть ряд полезных возможностей, которые можно включить отдельно. В этой статье мы раскроем дополнительные возможности PhpMyAdmin, и посмотрим, чем они могут быть нам полезны.
Настройка
Перед тем как начать, убедитесь, что PhpMyAdmin запущен и работает. Если вы залогинитесь, то, возможно, обратите внимание на сообщение следующего вида:
The phpMyAdmin configuration storage is not completely configured, some extended features have been deactivated. To find out why click here.
(Хранилище конфигураций phpMyAdmin не настроено должным образом, некоторые возможности отключены. Чтобы узнать почему, нажмите здесь)
При клике на ссылку here (“здесь”), вас направят на страницу с пояснением того, что вы не активировали все возможности. Активировать их можно, добавив следующие строки в файл config.inc.php
.
$cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'pmapass'; $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]['pdf_pages'] = 'pma__pdf_pages'; $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; $cfg['Servers'][$i]['history'] = 'pma__history'; $cfg['Servers'][$i]['recent'] = 'pma__recent'; $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; $cfg['Servers'][$i]['users'] = 'pma__users'; $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; $cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords'; $cfg['Servers'][$i]['favorite'] = ‘pma__favorite’; $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
Смените имя пользователя, пароль и имя базы данных по вашему собственному усмотрению. Остальные конфигурационные значения — это имена таблиц. Если оставить их пустыми, то вы отключите соответствующие им возможности. Но вообще, я бы рекомендовал оставить эти названия как есть. В зависимости от версии PhpMyAdmin не все значения будут доступны по умолчанию. В данном случае я использовал версию PhpMyAdmin 4.2.x.
Когда вы закончите с конфигом, нужно будет создать базу данных. Создайте базу данных с именем, которое вы указали в вашем конфигурационном файле. Далее поищите файл с названием create_tables.sql
на вашей машине. Скорее всего, данный файл будет находиться в корневой директории установленного PhpMyAdmin, или в поддиректории scripts. Если у вас Linux, то расположение будет следущим /usr/share/phpMyAdmin/examples/
или /usr/share/doc/phpmyadmin/scripts/
. Запустите этот файл в рамках созданной базы данных. Если вы меняли имена таблиц в вышеприведенном конфиге, не забудьте поменять их также и в базе данных.
Далее нам нужно создать пользователя с паролем, данные которого мы указали в конфиге. Выполните ниже приведенные запросы, не забыв подставить нужные имя пользователя и пароль.
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass'; GRANT SELECT ( Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv ) ON mysql.user TO 'pma'@'localhost'; GRANT SELECT ON mysql.db TO 'pma'@'localhost'; GRANT SELECT ON mysql.host TO 'pma'@'localhost'; GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv) ON mysql.tables_priv TO 'pma'@'localhost'; GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';
Завершив сеанс с PhpMyAdmin и войдя снова, мы должны увидеть, что предупреждение исчезло. Если не пропало, кликните по ссылке, чтобы узнать, чего же не хватает.
Давайте рассмотрим дополнительные возможности.
Закладки
Включив расширение bookmark
, у вас появится возможность добавлять запросы в закладки. При создании запроса его можно добавить в закладки. Также, если запрос уже был запущен, вы можете добавить его в закладки, прокрутив страницу до низу, и заполнив форму.
При переходе на вкладку SQL, внизу вы увидите панель, на которой можно выбрать запрос из закладок. Выберите нужный, и укажите, что вы хотите с ним сделать: выполнить, просмотреть, или удалить.
Связи
Опция relation
пожалуй, лучшая вещь, которой мне приходилось пользоваться. Если вы используете внешние ключи, то такие ключи станут кликабельны. При клике по внешнему ключу, вы будете переведены на другую таблицу: на ту запись, на которую ссылается внешний ключ.
Также при добавлении или редактировании внешнего ключа вместо текстового поля ввода вам будет предложен список всех возможных вариантов.
Информация о таблице
Конечно, видеть список со всеми возможными значениями для внешнего ключа хорошо. Но было бы еще лучше, если бы нам показывался конкретный столбец вместо ID. Чтобы этого добиться, нужно включить able_info
. Перейдите к основной таблице, перейдите на вкладку “Структура”, и кликните на ссылку просмотра связи. Если вы прокрутите страницу до низу, то увидите, какой столбец будет отображаться по этому ключу.
Если я создам новую запись с внешним ключом, то рядом со значением первичного ключа я увижу значение из указанной мной колонки. Теперь нет необходимости запоминать идентификатор.
Страницы PDF
Связи между таблицами можно экспортировать в PDF. Для этого в конфиге нужно активировать pdf_pages
, table_coords
и relation
. Следующим шагом откройте базу данных, которую вы хотите экспортировать в PDF. Кликните на вкладку “Операции”. Далее кликните по ссылке “Редактировать или экспортировать схему связей”. Заполните все поля и нажмите “Отправить”. Если вы заполнили форму — то у вас появится PDF файл со всеми необходимыми данными.
Информация о столбцах
С помощью опции column info
вы можете добавлять комментарии к названиям столбцов. Это может быть полезным, когда вы хотите донести до других людей, что это за столбец, и какие данные в нем хранятся. Сделать это можно, изменив данные столбца. Вы можете заметить, что к столбцу был добавлен новый комментарий. Если вы введете комментарий, то он появится прямо под именем столбца.
Таким же образом к столбцам можно применять преобразования. С помощью преобразований вы можете сделать имя файла гиперссылкой, которая откроет указанный файл.
История
Если включить history
, то все запросы, выполняемые через PhpMyAdmin будут сохраняться в вашей истории, до тех пор пока вы не завершите сеанс, или не закроете браузер. Историю можно просмотреть, вызвав диалоговое окно “Запрос”, и нажав кнопку “История SQL”
Недавние
На навигационной панели вы можете заметить кнопку “Недавние”, которая содержит выпадающий список таблиц, которые вы недавно просматривали. Этот список отображается по-умолчанию. Но если вы хотите хранить его постоянно между сессиями, можете включить опцию recent
в конфиге, и ваша история посещений будет сохранена в базе.
Настройки отображения таблицы
Просматривая таблицы, вы можете изменять порядок столбцов перемещением. Эти изменения видимы только вам. Настоящий порядок столбцов при этом не изменяется. В дополнение вы также можете сортировать столбцы по возрастанию и по убыванию. Такие изменения хранятся в пределах сессии, а при разлогировании будут сброшены и заменены на настройки по-умолчанию. Однако, если вы хотите, чтобы таблицы выгладили “по-вашему” всё время, то активируйте опцию table_uiprefs
.
Пользователи и группы пользователей
Возможно, вы не хотите отображать все возможности для всех пользователей. В этом случае вы можете разбить их на группы на вкладке “Пользователи”. Создайте новую группу, и определите, что пользователи из этой группы могут видеть. Потом вы сможете добавлять пользователей в эту группу, и можете быть уверены в том, что они будут видеть только те пункты меню, которые вы разрешили видеть. Таким образом вы можете давать доступы различным пользователям к различным возможностям системы, а также скрывать неиспользуемые опции.
Скрытие навигации
С помощью navigationhiding
вы можете скрывать некоторые таблицы в панели навигации. При клике на иконку лампочки рядом с именем таблицы, вы её скроете. Так же можете снова сделать ее видимой, повторно кликнув на иконку лампочки. Таким образом вы разгрузите панель навигации от неиспользуемых таблиц.
Отслеживание
С помощью данной возможности вы можете отследить все изменения, которые были проведены над конкретными таблицами с помощью PhpMyAdmin. Перейдя к таблице, и открыв вкладку “Слежение”, можно создать версию текущей таблицы. Теперь все изменения, которые были проделаны над этой таблицей с помощью PhpMyAdmin, будут сохраняться. Таким же образом можно легко определить, какие изменения были произведены в таблице с момента создания последней версии.
Пользовательские настройки
Все пользовательские настройки по-умолчанию хранятся в вашем браузере. Это означает, что если вы решите воспользоваться другим браузером, или почистите кеш браузера, все ваши настройки пропадут. Активировав userconfig
вы сохраните ваши настройки в базе данных на постоянной основе.
Координаты дизайнера баз данных
Включив designer_coords
, вы можете просматривать связи между вашими таблицами в режиме дизайнера баз данных. Перейдя в базу данных и кликнув по вкладке “Дизайнер”, вы увидите нечто похожее на нижеприведенное изображение, на котором представлены связи между таблицами. Вместе с тем вы можете визуально управлять связями между таблицами с помощью этого окна.
Избранное
Включив опцию favorite
, в режиме просмотра базы данных вы можете заметить появление иконок звездочек около названий таблиц. Для добавления таблицы в избранное, достаточно кликнуть по звездочке. В панели навигации вы увидите выпадающий список “Избранное”. Таблицы, которые вы добавили в избранное, появятся в этом списке.
Сохранение параметров поиска
Открыв базу данных и перейдя на вкладку “Запрос”, вы можете настроить расширенный поиск. Параметры поиска можно добавить в закладки. Отмечу, что это не закладки SQL-запросов, рассмотренные ранее. С помощью этой опции вы можете сохранить параметры поиска, и использовать их позже.
Заключение
Включить перечисленные возможности просто, и они могут действительно помочь в работе с базами данных через PhpMyAdmin. Мне особенно нравится возможность перехода по внешним ключам, так, что я могу видеть связанные записи. Надеюсь, вы активируете данные возможности, и они будут полезны в вашей повседневной работе.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Активные темы Темы без ответов
Нет возможности создать связь между таблицами
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
1 2016-11-30 17:19:19
- Евгения_1995
- Новичок
- Неактивен
- Зарегистрирован: 2016-11-30
- Сообщений: 1
Тема: Нет возможности создать связь между таблицами
Установили phpmaadmin с использованием wamp. БД создана, норм, созданы таблицы. Но нет возможности создать связи в Дизайнере. выдает ошибку — «Функция связи отключена». Конфиг меняли и вручную и через сайт. строка связи включена — $cfg[‘Servers’][$i][‘relation’] = ‘pma__relation’;
что еще можно посмотреть?
2 Ответ от Hanut 2016-11-30 19:26:11
- Hanut
- Модератор
- Неактивен
- Откуда: Рига, Латвия
- Зарегистрирован: 2006-07-02
- Сообщений: 9,726
Re: Нет возможности создать связь между таблицами
Проверьте создана ли таблица pma__relation в БД phpmyadmin.
После изменения конфигурации обязательно очистите куки браузера.
Сообщения 2
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Asked
7 years, 7 months ago
Viewed
6k times
I made an account on Godaddy recently to host my website and they also had an option to build a database with the hosting services. It’s a standard phpMyAdmin set up, except when I try to create a relation between two tables it comes up with the following error
Error: Relational features disabled!
It has never happened to me before and I have no idea how to enable the relational features and actually connect those two tables
I set Account_id in the main table as a primary key and I’ve set the the Account_id on the User table as an Index key.
Does anyone know how to enable those features.?
Clay
4,6903 gold badges33 silver badges49 bronze badges
asked Nov 6, 2015 at 15:38
1
Make sure both of the tables have the InnoDB engine selected.
answered Mar 26, 2016 at 11:52
0
Некоторое время я искал что-то подобное и нашел несколько советов по подобным вопросам, но не совсем так. Я действительно не знаю, что делать.
Я скачал и установил WAMP, и у меня есть настройки MySQL и PHPMyAdmin в соответствии с общими указаниями, которые можно найти везде (защита корневой учетной записи MySQL и т. Д.).
Когда я вхожу в PHPMyAdmin (как root или как pma), я вижу следующее сообщение внизу страницы:
Дополнительные функции для работы со связанными таблицами были отключены. Чтобы узнать, почему нажмите здесь.
А при переходе по ссылке, появляется страница со следующим:
Server: localhost
$cfg['Servers'][$i]['pmadb'] ... OK
$cfg['Servers'][$i]['relation'] ... OK
General relation features: Disabled
$cfg['Servers'][$i]['table_info'] ... OK
Display Features: Disabled
$cfg['Servers'][$i]['table_coords'] ... OK
$cfg['Servers'][$i]['pdf_pages'] ... OK
Creation of PDFs: Disabled
$cfg['Servers'][$i]['column_info'] ... OK
Displaying Column Comments: Disabled
Bookmarked SQL query: Disabled
Browser transformation: Disabled
$cfg['Servers'][$i]['history'] ... OK
SQL history: Disabled
$cfg['Servers'][$i]['designer_coords'] ... OK
Designer: Disabled
Кто-нибудь, пожалуйста, объясните мне, какого чёрта, если все настройки «OK
«особенности остаются»Disabled
«?
Примечание: сначала все настройки былиnot OK
«и мне удалось добавить настройки в config.inc.php, а затем создать таблицы с помощью scripts / create_tables.php.
Конечно, я уже пытался перезапустить сервер или очистить кеш браузера (несколько раз, поэтому я уверен, что проблема возникает в другом месте).