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
Erik dice
Muchas gracias , yo uso appserv, solo tube que hacer el primer paso importar Create_table.sql, eso me genero la base de datos phpmyadmin y listo ya pude crear mi relacion en modo diseño, gracias fue mucha utilidad su ayuda
krysta dice
a donde la importaste?
Ardilla Suicida dice
en UBUNTU 14.04 ME FUNCIONA DE ESTA MANERA GRACIAS (Javier Uribe ) .. ESTUBE unos tres horas en esta mierda
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;
santiago dice
100% efectiva tu solucion muchas gracias llevaba mas horas que tu sin ningun resultado
Andlinux dice
gracias por el aporte compañeros mira yo lo he solucionado de la siguiente manera (en mi caso OPENSUSE 13.1):
ir a:/usr/share/doc/packages/phpMyAdmin/examples/
abre con algun editor de texto y copia todo el contenido de create_tables.sql y anda a cpnale de phpmyadmin opcion SQL te abre una cuadro y pegalo ahí .. Y conga continuar y se les creara la tabla phpmyadmin .. o tambien puedes emportar desde:/usr/share/doc/packages/phpMyAdmin/examples/
si en caso de seguir teniendo el problema en este http://en.opensuse.org/SDB:LAMP_setup#Installing_phpMyAdmin_2 foro de open recomienda ejecutar los siguientes comados en terminal:
chown root:www /etc/phpMyAdmin/config.inc.php
chmod 640 /etc/phpMyAdmin/config.inc.php
luego ya no tube el problema .. ya pude trabajar ..
Judith dice
Excelente aporte .!!
Saludos
Pablo Alandia dice
Mil Gracias! por la informacion!
APORTE:
por si acaso yo estuve horas dando vueltas y no me percate de que despues de hacer todo lo mensionado en varias paginas, tenia una de las opciones (la de desginer_coords) en blanco otra vez en unas cuantas lineas mas abajo en el config.inc.php que utlize de base... asi qeu por mas que yo seteara el mio en las lineas de arriba, las lineas de abajo ponian este parametro a '' vacio... POR FAVOR REVISEN BIEN SUS ARCHIVOS para no perder horas de trabajo...
Un abrazo a todos
Charles dice
Muchas Gracias los mensajes desaparecieron
Charles dice
Muchas gracias por dedicarle tiempo a este tema, por aclarame un poco el primer punto, como se ejecuta el script create_tables.sql, ya que no encuentro la carpeta de scripts de phpmyadmin, dentro de ella, estoy utilizando wamp
Gracias nuevamente.
Daniel Duran dice
$cfg['PmaNoRelation_DisableWarning'] = TRUE; no soluciona el problema, solo lo esconde, ¿alguien sabe como solucionarlo?
CRIS dice
Necesito ayuda,
Estoy trabajando en PHPmy admin, y me sale un error. Nose como lo puedo solucionar:
Este es el mensaje que me aperece:
#1045 - Access denied for user root@localhost(using password: NO)
LA CONEXION para controluser, como está definida en su configuración, fracasó.
phpMyAdmin intentó conectarse con el servidor MySQL, y el servidor rechazó esta conexión. Deberá revisar el host, nombre de usuario y contraseña en config.inc.php y asegurarse que corresponden con la información provista por el administrador del servidor MySQL.
Ayudame por favor
Tomas dice
Muchas gracias, me sirvió
Carlos Fajardo dice
Mi problema es que si me sale el botón diseñador, le doy clic y me sale la respectiva ventana con las tablas, pero hago las relaciones y nada, como si nada; solo aparece este aviso LOADED por un buen rato, luego desaparece y sigue sin hacer o mostrar las relaciones. A todos muchas gracias por su ayuda
Igor dice
No se que puede ocurrir. Prueba con otro navegador a ver así funciona.
Igor dice
Helena, descargate otra vez el phpmyadmin y sustituye tu config.inc.php por el recien descargado
helena dice
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!
helena dice
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!!
Igor dice
El Ariel, en el artículo tienes la respuesta que buscas.
El Ariel dice
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?
El Ariel dice
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?
Daniel dice
JM Doctor muy teso ese aporte bendiciones y siga asi.
Me sirviooo muchoooooo!