Está en la página 1de 8

Activar relaciones en phpmyadmin

Para quienes usen PhpMyAdmin para gestionar y crear bases de datos y puedan necesitar usar 'vista de relaciones' les dejo la forma de hacerlo. Hay que agregar dos lineas al archivo config.inc.php: $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['relation'] = 'pma_relation'; Luego desde PhpMyAdmin, vamos a Importar:

Y all importamos el archivo create_tables.sql localizado en la carpeta scripts de PMA.

Eso es todo:

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 aadir algunas opciones a los ficheros de configuracin 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 caractersticas adicionales, como las relaciones entre tablas. 2. Acceder al fichero de configuracin de PMA config.inc.php y dejar estas opciones tal y como se indica a continuacin:
$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 relacin entre tablas (que ser el que indicamos anteriormente como controluser con la contrasea 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 botn diseador, desde donde podremos establecer las relaciones entre tablas.

Yo instal XAMPP 1.7.4 en Windows 7 Enterprise y pese a ello tambin phpMyAdmin (v.3.3.9) me adverta del problema con las tablas vinculadas. Atend a las sugerencias aqu expuestas pero an as el problema persisti. Finalmente investigando ms encontr en el blog de Javier Ramn (http://dohkogeek.blogspot.com/2010/11/las-opciones-adicionales-para-trabajar.html) que me haca falta agregar la siguiente lnea al script config.inc.php: $cfg['PmaNoRelation_DisableWarning'] = TRUE; Co esto y las acciones aqu expuestas logr finalmente solventar el problema. 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.

Hola que tal, Realice una base de datos con 5 tablas, lo tengo bien y corre a la perfeccin, pero ahora quiero tener una vista de relacin entidad de la tabla que hice, ya saben la grfica nada mas. Para esto me percate que no tengo activada esa opcin en phpmysql, ahora investigando me tope con este tuto sencillo, el cual me trajo problemas. http://www.alejandrox.com/2007/09/re...enphpmyadmin/ Cdigo: Activar la vista de relaciones en phpMyAdmin Para activar la vista de relaciones tenemos que abrir, en primer lugar, el archivo config.inc.php. Despus buscamos la lnea $cfg[Servers][$i][pmadb] y la dejamos como se muestra a continuacin: $cfg[Servers][$i][pmadb] = phpmyadmin; A continuacin buscamos la lnea $cfg[Servers][$i][relation] y la dejamos de la siguiente manera: $cfg[Servers][$i][relation] = pma_relation;

Para este paso, revise este archivo el cual tuve que hacerlo desde root para poder abrirlo y modificarlo, el caso es que ya estaba justamente como lo describe este amigo. as es que segu con el manual... Cdigo: Tan slo nos queda ejecutar un script que se encuentra en la carpeta /scripts de phpmyadmin. Ese script se llama create_tables.sql y lo podemos ejecutar de varias maneras.Una de ellas es abriendo la pgina principal de phpMyAdmin pulsando a continuacin sobre Importar. Para este paso, el archivo create_tables.sql, nunca lo encontr en esa direccin lo encontr en la siguiente ruta /usr/share/doc/phpmyadmin/scripts/create_tables.sql.gz y viene exactamente igual, comprimido, ahora lo descomprim y no tuve permisos para hacerlo en esa carpeta, as es que lo extraje en una carpeta de mis documentos, y segu con el manual, lo importe al phpmysql... y sorpresa me aparece la siguiente leyenda "Wrong permissions on configuration file, should not be world writable!" Ahora no puedo utilizar mi phpsqladmin porque me aparece la panatalla blanca con esa leyenda. trate de darle permisos al archivo para su ejecucion y me encontre conque debo de darle permisos al archivo config.inc.php y se los di asi "sudo chmod a-w config.inc.php" y aun as me da error la ruta que hice es desde la carpeta. /etc/phpmyadmin $ sudo chmod a-w config.inc.php entonces hice lo mismo pero con el archivo create_tables.sql pero aun asi me aparece el rollo igual.... Que puedo hacer?? De ante mano gracias, uso linuxmint miiso Ver Perfil Buscar todos los Mensajes de miiso (#2) j8k6f4v9j 16-ago-2009, 00:11 vbmenu_re gister("post Cita: menu_1733 Iniciado por miiso 45", true); me aparece la siguiente leyenda "Wrong permissions on configuration file, should not Moderador be world writable!" Global Mensajes: 6.272 Fecha de Ingreso: Ahora no puedo utilizar mi phpsqladmin porque me aparece la panatalla blanca con esa leyenda. trate de darle permisos al archivo para su ejecucion y me encontre conque debo de darle permisos al archivo config.inc.php y se los di asi "sudo chmod a-w

agosto2005

config.inc.php" y aun as me da error la ruta que hice es desde la carpeta. /etc/phpmyadmin $ sudo chmod a-w config.inc.php entonces hice lo mismo pero con el archivo create_tables.sql pero aun asi me aparece el rollo igual.... Que puedo hacer?? Suponiendo que se trate de este archivo, puedes asignar los permisos adecuados con (como root): Cdigo:
chown root:root /etc/phpmyadmin/config.inc.php chmod 644 /etc/phpmyadmin/config.inc.php

Comprueba que todos los archivos bajo /etc/phpmyadmin tienen el modo 644: Cdigo:
stat -c %a /etc/phpmyadmin/*

Excepto aquellos que tiene como grupo el usuario del servidor web (en mi caso, y bajo debian lenny, www-data), que deben tener el modo 640. Estos archivos no deben ser ledos, escritos ni ejecutados por nadie que no sea propietario de los mismos, ya que contienen credenciales. En mi caso son htpasswd.setup y configdb.php. Salu2

....................

[[ NORMAS DEL FORO ]]


.................... __________ ltima edicin por j8k6f4v9j; 16-ago-2009 a las 00:16. j8k6f4v9j Ver Perfil Buscar todos los Mensajes de j8k6f4v9j (#3) miiso vbmenu_register("post menu_173380", true); Iniciado Mensajes: 11 Fecha de Ingreso: 17-ago-2009, 23:24 Hola, gracias por tu pronta respuesta, estoy haciendo los arreglos y comento los resultados, gracias!

agosto-2008 miiso Ver Perfil Buscar todos los Mensajes de miiso (#4) miiso 26-ago-2009, 03:32 vbmenu_register("postm enu_173575", true); Hola, disculpa la demora de mi respuesta, ya solucione el problema, Iniciado muchisimas gracias por todo Mensajes: 11 Fecha de Ingreso: agosto-2008 miiso Ver Perfil Buscar todos los Mensajes de miiso (#5)

Activar Diseador de phpmyadmin

Escrito por Javier Editar el archivo de configuracin de phpmyadmin (config.inc.php). En Ubuntu se encuentra en /etc/phpmyadmin y en Windows, si se ha instalado con WAMP, se encuentra en C:\wamp\apps\phpmyadminX.X.X. Hay que descomentar las siguientes lneas: $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'; Tambin hay que crear base de datos phpmyadmin y una serie de tablas, para lo cual se puede utilizar un script que facilita phpmyadmin. El script se puede ejecutar desde el mismo phpmyadmin utilizando la pestaa Importar. Ah podemos seleccionar el archivo que contiene el script, que puedes encontrar en: Ubuntu: /usr/share/doc/phpmyadmin/example/create_tables.sql.gz Windows (WAMP): C:\wamp\apps\phpmyadmin3.3.9\scripts\create_tables.sql A partir de ese momento debe aparecer en phpmyadmin la pestaa Diseador si se selecciona una base de datos.

También podría gustarte