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
Abdias dice
me funciono bien todo.
excelente ayuda.
cesar dice
Esto era lo que buscaba. Lo adapto a mi caso particular y me lo llevo ... Fuentes y créditos:
http: //www.gigastur.es/blog/activar-relaciones-phpmyadmin
cesar dice
Gracias, muchas gracias. Linux es Genial!.
La princs dice
a mi me sale la estaña diseñador pero las relaciones entre una tabla y otra no me salen y quiero saber como hacerlo
bolly dice
Tengo el servidor separado todo en partes y lo que me faltaba para tener al ciento el phpmyadmin ha sido el comentario de Luis (perdón javier pero el tuyo lo ví después, esto de leer rápido es lo que tiene) con $cfg['PmaNoRelation_DisableWarning'] = TRUE;, extrañamente no viene en el config.inc pero con ese dato ya no sale el molesto aviso.
Gracias a todos
ancelmo dice
Hola Igor:
realicé todos los pasos mencionados y nada ...
cargue el archivo create_tables.sql ya que no parecía la tabla pma_tracking, luego se creó, agregué la línea $cfg['Servers'][$i]['tracking'] = 'pma_tracking' en el arhivo config.ini.php aplique las sentencias sql para el usuario y nada.
la línea $cfg['PmaNoRelation_DisableWarning'] = TRUE es sólo esconder el mensaje no para afirmar que las tablas vinculadas ya están activadas.
Luis dice
Me funciono con
$cfg['PmaNoRelation_DisableWarning'] = TRUE; (del comentario de Jorge Uribe 🙂 y poniendo controlpass=pmapass
/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = 'pmapass';
/* Advanced phpMyAdmin features */
$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';
$cfg['PmaNoRelation_DisableWarning'] = TRUE;
Saludos.
Javier Uribe dice
Hola yo utilizo este xampp 1.7.4 y me salio esto
($cfg['Servers'][$i]['tracking'] no recibió el OK)
mmm estube Buscando mucho Pero encontre la Solucion Gracias a tanostov mas arriba lo dijo
Ok vas a config.inc.php lo abres i abajo de esta linea
$cfg['Servers'][$i]['designer_coords'] = 'pma_designer_coords';
Pones la siguiente Linea
$cfg['PmaNoRelation_DisableWarning'] = TRUE;
ok luego vas a http://localhost/phpmyadmin/index.php
le das a privilegios luego vas a eliminar el 2 usarios que hay en rojo i quedarian 3 editas el pma das clik en el lapiz luego vas donde dice Cambiar la información de la cuenta / Copiar el usuario abajo pones en contraseña usar campo de texto luego pones tu contraseña alado i repites abajo luego continuar solo dale alli y nada mas estara protegido y trablas vinculadas sin ningun error para ponerle contraseña al root localhost has lo mismo que el pma Saludo2 Buen post gracias 🙂
Arlette dice
Me funciono sin problemas, buena pregunta la de koloko me soluciono la misma duda.
Saludos.
José dice
Hola
yo tengo el mismo problema solo que no estoy usando ni XAMPP ni WAMP. instale cada paquete indibidual mente (apache 2.2.19, php 5.2.17, mysql 5.1.57 y phpmyadmin 3.4.2 en un servidor windows 2008 a 32 bit) a demas de este problema me aparese el sigiente error
"Su versión de librería PHP MySQL 5.0.51a es distinta de aquella de su versión de servidor MySQL 5.1.57. Esto puede ocasionar un comportamiento impredecible."
como puedo solucionarlo sin cambiar las versiones de php y mysql esque me piden a fuersas estas verciones
Marco dice
Excelente, me fue de gran ayuda. Tengo Linux ReHat Enterprice 5, seguí los pasos al pie de la letra y funciono perfectamente. Gacias
Carlos dice
Genial, yo tengo la tabla, pero tengo el mismo problema que koloko, me dice ($cfg['Servers'][$i]['tracking'] no recibió el OK), tengo también 1.7.4, pero que hago exactamente.
Localice el archivo
Pero sigo sin ver que ondas con el $cfg['Servers'][$i]['tracking'] y no veo como crear un usuario =(
Jordi dice
Genial!! funcionó
Juanfer dice
Y cómo hacemos cuando el phpmyadmin lo tenemos en el cpanel?
Igor dice
Hola koloko.
Para ejecutar el script tienes que abrir el fichero create_tables.sql y copiar todo su contenido.
Luego solo tienes que ir a phpmyadmin, darle al boton SQL (arriba a la izquierda) y en la nueva ventana que se abre pegar el contenido del fichero que copiaste antes.
Le das a continuar y te creará la tabla phpmyadmin.
koloko dice
hola a todos. llevo ya tiempo con este problema pero no logro solucionarlo. estoy usando xampp 1.7.4 y las tablas vinculadas me vienen dehabilitadas ($cfg['Servers'][$i]['tracking'] no recibió el OK).
estoy intentando los pasos que explica igor, pero el paso 1 se me atraviesa...
Comprobar si tenemos una tabla llamada "phpmyadmin".
busco "phpmyadmin.frm" y no tengo ninguna.
entonces,
lo que no se es como ejecutar el script create_tables.sql
desde donde lo ejecuto? como?
por favor un poco de ayuda que creo que me voy a volver loko
tanostov dice
Yo instalé XAMPP 1.7.4 en Windows 7 Enterprise y pese a ello también phpMyAdmin (v.3.3.9) me advertía del problema con las tablas vinculadas. Atendí a las sugerencias aquí expuestas pero aún así el problema persistió. Finalmente investigando más encontré en el blog de Javier Ramón (http://dohko-geek.blogspot.com/2010/11/las-opciones-adicionales-para-trabajar.html) que me hacía falta agregar la siguiente línea al script config.inc.php:
$cfg['PmaNoRelation_DisableWarning'] = TRUE;
Co esto y las acciones aquí expuestas logré finalmente solventar el problema.
samuel dice
realmente fue la unica parte donde encontre claridad
llevaba varios dias tratando de solucionarlo
todo funciono muy bien
Gracias !!!!.
marleny dice
para la relacione de la tabla como hago
Angel Becerra dice
Gracias por su aporte
Josue dice
Para los que les aparece este problema:
# luis Dijo:
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
Tienen que reiniciar wamp, asi como su maquina, para que se guarden los cambios y listo.
Igor dice
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.
luis dice
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
Igor dice
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.
heros dice
Por favor me pueden enviar el
config.inc.php
para que aparezca RELACIONES
De antemano agradezco por sus valiosos conocimientos