PhpMyAdmin incluye opciones para relacionar tablas (de tipo InnoDB), pero muchas veces vienen desactivadas y al darle al boton operaciones en la base de datos, aparece el error: Las opciones adicionales para trabajar con tablas vinculadas fueron desactivadas. Para saber porqué, dé clic aquí.
Para activarlas debemos añadir algunas opciones a los ficheros de configuración del PMA.
En algunos paquetes que integran Apache, MySQL y PHP no es necesario configurar nada porque ya traen activadas por defecto estas opciones, como XAMPP. En otros paquetes, aunque configures estas opciones, es posible que sigan sin funcionar las relaciones, como en el WAMP.
Para lograr que funcionen las relaciones debemos seguir estos pasos:
- Comprobar si tenemos una tabla llamada phpmyadmin. Si no es así, ejecutar el script create_tables.sql, que está en la carpeta de scripts de phpmyadmin.
Esta es una tabla que usa PMA internamente para ofrecer características adicionales, como las relaciones entre tablas. - Acceder al fichero de configuración de PMA config.inc.php y dejar estas opciones tal y como se indica a continuación:
$cfg['Servers'][$i]['auth_type'] = 'http';
$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]['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]['designer_coords'] = 'pma_designer_coords';
- Crear un usuario MySQL para utilizar la relación entre tablas (que será el que indicamos anteriormente como controluser con la contraseña indicada en controlpass) y asignarle los correspondientes permisos:
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';
- Reiniciar apache y acceder al PMA. Si todo ha salido bien, ya no tendremos el mensaje de error y aparecerá en el menú de arriba el botón diseñador, desde donde podremos establecer las relaciones entre tablas.
Más información:
PhpMyAdmin Wiki
Devside




Noviembre 23rd, 2009 at 1:38
Por favor me pueden enviar el
config.inc.php
para que aparezca RELACIONES
De antemano agradezco por sus valiosos conocimientos
Noviembre 24th, 2009 at 20:45
el config.inc.php es un fichero de configuración del phpmyadmin, tienes que tenerlo. Tal vez se llame config.php o config.default.php, comprueba si tienes alguno de estos.
Enero 14th, 2010 at 9:19
tengo instalado en wamp 2
Apache Version : 2.2.11
PHP Version : 5.3.0
MySQL Version : 5.1.36
pero me aparece esto
$cfg['Servers'][$i]['pmadb'] … OK
$cfg['Servers'][$i]['relation'] … no recibió el OK [ Documentación ]
Opciones de relación general: Deshabilitado
$cfg['Servers'][$i]['table_info'] … no recibió el OK [ Documentación ]
Mostrar las opciones: Deshabilitado
$cfg['Servers'][$i]['table_coords'] … no recibió el OK [ Documentación ]
$cfg['Servers'][$i]['pdf_pages'] … no recibió el OK [ Documentación ]
Creación de los PDF: Deshabilitado
$cfg['Servers'][$i]['column_info'] … no recibió el OK [ Documentación ]
Mostrando los comentarios de la columna: Deshabilitado
Consulta guardada en favoritos: Deshabilitado
Transformación del navegador: Deshabilitado
$cfg['Servers'][$i]['history'] … no recibió el OK [ Documentación ]
Historial-SQL: Deshabilitado
$cfg['Servers'][$i]['designer_coords'] … no recibió el OK [ Documentación ]
Diseñador: Deshabilitado
como le hago para habilitarlo????
solo me habilito el primero
Enero 14th, 2010 at 21:34
Pues como digo en el artículo, en el WAMP aunque configures estas opciones, es posible que sigan sin funcionar las relaciones.
Pasate al XAMPP, que ya vienen activadas por defecto.