Activar relaciones en phpmyadmin

Base de datos, Linux, Windows Dejar un comentario

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:

  1. 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.
  2. 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';
  3. 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';
  4. 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

Entradas relacionadas

32 Respuestas para “Activar relaciones en phpmyadmin”

  1. heros Dijo:

    Por favor me pueden enviar el

    config.inc.php
    para que aparezca RELACIONES

    De antemano agradezco por sus valiosos conocimientos

  2. Igor Dijo:

    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.

  3. luis Dijo:

    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

  4. Igor Dijo:

    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.

  5. Josue Dijo:

    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.

  6. Angel Becerra Dijo:

    Gracias por su aporte

  7. marleny Dijo:

    para la relacione de la tabla como hago

  8. samuel Dijo:

    realmente fue la unica parte donde encontre claridad
    llevaba varios dias tratando de solucionarlo
    todo funciono muy bien

    Gracias !!!!.

  9. tanostov Dijo:

    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.

  10. koloko Dijo:

    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

  11. Igor Dijo:

    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.

  12. Juanfer Dijo:

    Y cómo hacemos cuando el phpmyadmin lo tenemos en el cpanel?

  13. Jordi Dijo:

    Genial!! funcionó

  14. Carlos Dijo:

    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 =(

  15. Marco Dijo:

    Excelente, me fue de gran ayuda. Tengo Linux ReHat Enterprice 5, seguí los pasos al pie de la letra y funciono perfectamente. Gacias

  16. José Dijo:

    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

  17. Arlette Dijo:

    Me funciono sin problemas, buena pregunta la de koloko me soluciono la misma duda.

    Saludos.

  18. Javier Uribe Dijo:

    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 :)

  19. Luis Dijo:

    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.

  20. ancelmo Dijo:

    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.

  21. bolly Dijo:

    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

  22. La princs Dijo:

    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

  23. cesar Dijo:

    Gracias, muchas gracias. Linux es Genial!.

  24. cesar Dijo:

    Esto era lo que buscaba. Lo adapto a mi caso particular y me lo llevo … Fuentes y créditos:
    http: //www.igorgarcia.es/blog/activar-relaciones-phpmyadmin

  25. Abdias Dijo:

    me funciono bien todo.
    excelente ayuda.

  26. Daniel Dijo:

    JM Doctor muy teso ese aporte bendiciones y siga asi.

    Me sirviooo muchoooooo!

  27. El Ariel Dijo:

    Canijo se ve k rifas en esto, pero tengo una duda se hace lo mismo cuando trabajas con php y tienes como servidor el wamp?

  28. El Ariel Dijo:

    Creo k no me explike bien, lo que pasa que tengo instalado el wamp y estoy trabajando mi codigo en php y lo abro en localhost pero es lo mismo verdad?

  29. Igor Dijo:

    El Ariel, en el artículo tienes la respuesta que buscas.

  30. helena Dijo:

    Hola, buenas,
    Cometí el error de modificar el config.inc.php original y después de tanto tocar cuando me pide el usuario y contraseña me pone esto y no me deja acceder:

    #1045 El servidor MySQL no autorizó su ingreso

    Alquien podría, por favor, pasarme el archivo config.inc.php original o modificado correctamente?? Muchas gracias y saludos!!

  31. helena Dijo:

    Hola de nuevo,
    he seguido configurando y ahora el mensaje de error que me aparece en phpmyadmin es este:

    La conexión para controluser, como está definida en su configuración, fracasó.

    Alguien puede ayudarme?? Gracias!

  32. Igor Dijo:

    Helena, descargate otra vez el phpmyadmin y sustituye tu config.inc.php por el recien descargado

Deja un comentario

WP Tema & Iconos por N.Design Studio
Traducido por luisitob2
Entradas RSS Comentarios RSS Acceder