Como actualizar phpMyAdmin para MAMP

Primero, descargamos la ultima versión de phpMyAdmin de su sitio web (http://www.phpmyadmin.net/home_page/index.php).

 

phpMyAdmin

Descomprimimos el paquete y renombramos la carpeta resultante como phpMyAdmin.

Paramos MAMP (si es que esta activo).

Vamos a /Library/Application Support/appsolute/MAMP PRO/, buscamos la carpeta de nombre phpMyAdmin, la renombramos como phpMyAdmin_bkp y copiamos nuestra nueva carpeta phpMyAdmin.

Entramos en nuestra nueva carpeta (phpMyAdmin), buscamos el fichero config.sample.inc.php y lo duplicamos. El nuevo fichero lo renombramos como config.inc.php.

Dejando todo como esta en este fichero, podremos arrancar MAMP nuevamente y acceder a phpMyAdmin. Esta vez nos pedirá credenciales para acceder, estas son las siguientes:

Usuario: root

Pasword: root

Funcionalidad extra

Al acceder a phpMyAdmin podemos ver un mensaje en la parte inferior como el siguiente.

localhost___localhost___phpMyAdmin_4_2_6

Si queremos agregar todas las funcionalidades de phpMyAdmin, tendremos que hacer algunos pasos extras.

Abrimos phpMyAdmin y vamos a la sección de Import. Luego presionamos en buscar ficheros y seleccionamos /Library/Application Support/appsolute/MAMP PRO/phpMyAdmin/examples/create_tables.sql y le damos a Go.

El import que acabamos de hacer agrega tablas para versiones de phpMyAdmin iguales o inferiores a 4.1.2. Al ser superior nuestra versión, tenemos que actualizar estas tablas, así que importamos de la misma forma el fichero upgrade_tables_mysql_4_1_2+.sql que esta ubicado en la misma carpeta.

Paramos MAMP.

Abrimos el fichero config.inc.php y descomentamos las siguientes lineas.


$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]['table_uiprefs'] = 'pma__table_uiprefs';
$cfg['Servers'][$i]['tracking'] = 'pma__tracking';
$cfg['Servers'][$i]['designer_coords'] = 'pma__designer_coords';
$cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
$cfg['Servers'][$i]['recent'] = 'pma__recent';
$cfg['Servers'][$i]['favorite'] = 'pma__favorite';
$cfg['Servers'][$i]['users'] = 'pma__users';
$cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
$cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
$cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';

Guardamos el fichero y arrancamos MAMP nuevamente.

Como vemos, activamos un usuario llamado pma en el config para conectarse con la base de datos phpmyadmin y sus tablas, pero este no existe aun, así que vamos a crearlo.

Abrimos phpMyAdmin, vamos a Query y ejecutemos el siguiente código para dar permisos al usuario pma para usar las tablas básicas de mysql.


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';

Si queremos podemos cambiar el pmapass, que vendría a ser el password de nuestro nuevo usuario, por algo un poco mas complejo. En mi caso, al ser local, lo dejaré tal cual.

También ejecutamos el siguiente código, que sera el que da permiso al usuario pma, para utilizar la base de datos phpmyadmin, y sus tablas a fin de habilitar las funcionalidades extras.


GRANT SELECT, INSERT, UPDATE, DELETE ON phpmyadmin.* TO 'pma'@'localhost';

MUY IMPORTANTE: El paso final es salir de phpMyAdmin (logout), y volver a entrar.

Hecho!

Ocultando base de datos del sistema

Si abrimos phpMyAdmin, podemos ver a simple vista las tablas del sistema. En algunos casos puede ser útil pero, por lo general, suele ser peligroso o inútil tenerlas allí. Vamos a ocultarlas, así mejoramos la visibilidad de nuestras bases de datos, y agregamos un escalón mas de seguridad al sistema.

Abrimos phpMyAdmin.

Presionamos sobre el tab Settings.

En el submenu que hay debajo de los tabs, clicamos sobre Features.

Agregamos lo siguiente en el campo Hide databases.

phpmyadmin|mysql|information_schema|performance_schema

Aplicamos los cambios, y veremos como inmediatamente estas tablas se ocultan del árbol de base de datos a nuestra izquierda.

Espero que les haya sido de ayuda…