La herramienta permite que cualquier usuario de la base de datos que disponga de algún permiso, acceda y haga uso de dichos permisos. Identificándose con el usuario administrador de la base de datos (root) o con cualquier otro usuario que disponga de todos los privilegios, estarán habilitadas todas las características de la herramienta.
// Quitar almohadilla delante de las líneas, para descomentarlas deb http://es.archive.ubuntu.com/ubuntu/ drapper universe deb-src http://es.archive.ubuntu.com/ubuntu/ drapper universePosteriormente, tendremos que actualizar en nuestro PC, el contenido de los repositorios:
// Actualizar contenido de los repositoriosAhora sí, podremos instalar el paquete 'phpmyadmin' mediante el comando:# apt-get update
// Instalación de phpmyadmin# apt-get install phpmyadmin
El programa de instalación crea un enlace simbólico en el DocumentRoot del servidor web para que la aplicación pueda ser accesible desde la url: http://ip-del-servidor-web/phpmyadmin/index.php. Si no se viera la aplicación en dicha url, quizás sea por algún aspecto de la configuración de apache. En tal caso, lo más sencillo sería mover la carpeta de phpmyadmin directamente dentro del DocumentRoot del servidor, mediante el comando:
// Colocar phpmyadmin en el servidor web y asignar propietario www# mv /usr/share/phpmyadmin /var/www/ (en nuestro caso) # chown -R www /var/www/phpmyadmin
De ésta forma, es seguro que accediendo a http://ip-del-servidor-web/phpmyadmin/index.php nos aparecerá la página de autentificación de phpmyadmin:
Una vez que nos identifiquemos con un usuario y contraseña válidos, accederemos a la página principal de phpmyadmin desde la que podremos crear una nueva base de datos o realizar consultas y modificaciones sobre bases de datos ya existentes:
// Archivo de configuración de phpmyadmin/etc/phpmyadmin/config.inc.php
En dicho archivo de configuración hay que establecer los parámetros que permitirán a phpmyadmin conectar con mysql, que son:
// Configuración por defecto en config.inc.phpCorresponden a las siguentes líneas en el archivo config.inc.php: $cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP $cfg['Servers'][$i]['port'] = ''; // MySQL port-blank default port $cfg['Servers'][$i]['auth_type'] = 'cookie'; // Authentication method $cfg['Servers'][$i]['user'] = 'root'; // MySQL user $cfg['Servers'][$i]['password'] = ''; // MySQL pass (only 'config')
// Crear base de datosmysql> CREATE DATABASE favoritos; Query OK, 1 row affected (0.00 sec) mysql> USE favoritos; Database changed
// Crear tabla (ojo: usar comilla simple invertida en nombres)mysql> CREATE TABLE `favoritos` ( `numero` INT NOT NULL PRIMARY KEY , `url` VARCHAR( 50 ) , `descripcion` VARCHAR( 50 ) ); Query OK, 0 row affected (0.02 sec)
// Insertamos un registro en la tabla para que no esté vacía:mysql> INSERT INTO `favoritos` ( `numero` , `url` , `descripcion` ) VALUES ('1', 'http://www.pntic.mec.es', 'Web del cnice'); Query OK, 1 row affected (0.00 sec)
// Conceder permisosmysql> GRANT ALL ON favoritos.* to cnice@localhost identified by "cnice"; Query OK, 0 row affected (0.01 sec) mysql> flush privileges; // actualizar permisos Query OK, 0 row affected (0.01 sec)
// Script PHP para el acceso a datos MySQL<? ////////////////////////////////////////////////////////////////////////////// // // MisFavoritos on-line. (C) 2007 - CNICE. // Nombre del script: index.php // ////////////////////////////////////////////////////////////////////////////// // Parámetros de conexión con la base de datos define( "DB_HOST", "localhost" ); define( "DB_USER", "cnice" ); define( "DB_PASSWD", "cnice" ); define( "DB_NAME", "favoritos" ); error_reporting( 0 ); //Para que no muestre warnings ni errores ?> <HTML> <HEAD><TITLE> Favoritos - mysql </TITLE></HEAD> <H1>Favoritos</H1> <STYLE type="text/css"> <!--A {font-family: Arial; color: #00FF00}--> </STYLE></HEAD> <BODY> Favoritos on-line. Acceso a datos mysql desde páginas PHP.<HR> Elija la operación que desee efectuar:<BR> <TABLE BORDER> <TD><A HREF="index.php?Accion=Ayuda">Ayuda</A></TD> <TD><A HREF="index.php?Accion=Nuevo">Nuevo</A></TD> <TD><A HREF="index.php?Accion=Borrar">Borrar</A></TD> </TABLE> <HR> <? $idCon = mysql_connect( DB_HOST, DB_USER, DB_PASSWD ) or die( "Error en la conexión: " . mysql_error()); mysql_select_db( DB_NAME, $idCon ); echo "<TABLE BORDER>"; echo "<TR><TD>Número</TD><TD>URL</TD><TD>Descripción</TD></TR>"; //Mostramos el contenido de la tabla $cSql = "SELECT * FROM favoritos"; $idQry = mysql_query( $cSql, $idCon ); while ($idRec = mysql_fetch_array( $idQry )) { printf('<TR><TD>%s</TD><TD><A HREF="%s">%s</A></TD><TD>%s</TD></TR>',$idRec[0], $idRec[1], $idRec[1], $idRec[2]); } echo "</TABLE>"; $Accion= $_GET['Accion']; $numero=$_GET['numero']; $url=$_GET['url']; $descripcion=$_GET['descripcion']; switch ($Accion) { //--------------------------------- Visualizar Ayuda ------- case ('Ayuda'): echo "<HR>Las acciones disponibles son: <BR> <BR>"; echo "<TABLE BORDER>"; echo "<TR><TD>Ayuda: Muestra éste mensaje de ayuda </TD></TR>"; echo "<TR><TD>Nuevo: Crea un nuevo registro </TD></TR>"; echo "<TR><TD>Borrar: Elimina un registro </TD></TR>"; echo "</TABLE>"; echo "<HR>"; break; //-------------------------------------------- Nuevo ------- case ('Nuevo'): //Si no enviamos una url, pintamos el formulario if (isset($url)==FALSE){ echo '<FORM METHOD="GET" ACTION="index.php">'; echo '<INPUT TYPE=HIDDEN NAME="Accion" VALUE="Nuevo">'; echo 'Num.: <INPUT TYPE="text" NAME="numero"><BR>'; echo 'URL: <INPUT TYPE="text" NAME="url"><BR>'; echo 'Descripción: <INPUT TYPE="text" NAME="descripcion">'; echo '<INPUT TYPE="Submit" VALUE="Insertar Registro">'; echo '</FORM>'; } else{ $cSql = "INSERT INTO favoritos values ($numero,'$url','$descripcion')"; $idQry = mysql_query( $cSql, $idCon ); if ($idQry==FALSE){ echo "Error al añadir un registro"; } else{ echo "<BR>Registro $numero, $url, $descripcion añadido satisfactoriamente."; echo 'Clic <a href="index.php">aquí</a> para refrescar.'; } } break; //------------------------------------------- Borrar ------- case ('Borrar'): //Si no enviamos un NumReg, pintamos el formulario if (isset($numero)==FALSE){ echo '<FORM METHOD="GET" ACTION="index.php">'; echo '<INPUT TYPE=HIDDEN NAME="Accion" VALUE="Borrar">'; echo 'Introduzca Número de Registro a eliminar: <INPUT TYPE="text" NAME="numero">'; echo '<INPUT TYPE="Submit" VALUE="Aceptar">'; echo '</FORM>'; } else{ //Primero comprobamos si existe dicho registro $cSql = "SELECT * FROM favoritos WHERE numero = $numero"; $idQry = mysql_query( $cSql, $idCon ); $nfilas = mysql_num_rows($idQry); echo "Filas=$nfilas"; //Si no existe, no podemos borrarlo if ($nfilas==0){ echo "No existe el registro $numero. Imposible eliminar dicho registro."; } else{ $cSql = "DELETE FROM favoritos WHERE numero = $numero"; $idQry = mysql_query( $cSql, $idCon ); if ($idQry==FALSE) echo "Error al eliminar el registro $numero"; else{ echo "Registro $numero eliminado satisfactoriamente."; echo 'Clic <a href="index.php">aquí</a> para refrescar.'; } } } break; } ?> </BODY> </HTML>