viernes, 9 de enero de 2009

Manual de PHP 3: Configuración mysql y PHPMyAdmin para las prácticas

Acceso a las bases de datos

El acceso y tratamiento de la información en bases de datos MySQL requiere que los usuarios estén identificados mediante un nombre (login) y –opcionalmente– una contraseña de acceso.

El propio instalador de MySQL incluye, por defecto, un login con nombre root, que utiliza como password una cadena vacía.

A cada usuario se le pueden asignar privilegios de modo que, por ejemplo, solo pueda realizar consultas, o acceder a tablas concretas. El usuario root goza de todos los privilegios posibles y podría ser usado para todos los supuestos de este curso. No obstante, como en situaciones reales es un usuario desaconsejable por el riesgo que entraña utilizar usuarios por defecto, vamos a crear un nuevo usuario –con contraseña y con todos los privilegios– que será el que utilizaremos en los ejemplos relativos a MySQL.

Creación de un nuevo usuario

En primer lugar iniciaremos MySql, para ello, lo único que debemos hacer es ir al panel de xampp y pulsar el botón de iniciar (start):


Será preciso que creemos un nuevo usuario. El usuario root no tiene contraseña y vamos a ver la opción de crear uno que requiera el uso de una contraseña para acceder.

Durante el proceso de creación le daremos los máximos privilegios (ALL PRIVILEGES) de modo que pueda gestionar cualquier base de datos, tabla y que además pueda crearlas, borrarlas o modificarlas sin restricción alguna.

Es importante que lo creemos con la sintaxis exacta ya que, los ejemplos de los temas relacionados con MySQL están desarrollados utilizando el usuario pepe con contraseña pepa (ambas en minúsculas).

Hay dos modos de crearlo, el primero usando una consola de comandos, para ello abrimos un terminal y nos vamos al directorio dónde se encuentra el ejecutable de mysql, si lo hemos instalado empleando xampp:

cd \xampp\mysql\bin

para a continuación teclear (mysql --user=root mysql):

esto nos permitirá interactuar con la base de datos como root (recordar que no le hemos puesto ninguna contraseña al usuario root).

Lo único que haremos desde aquí será crear un usuario. En adelante nos comunicaremos con MySQL a través de la web y usando como herramienta de comunicación el PHP.

Para crear el nuevo usuario utiliza exactamente la sintaxis que ves en la imagen.
( GRANT ALL PRIVLEGES ON *.* TO pepe@localhost IDENTIFIED BY 'pepa'; )

¡Cuidado!

El pulsar Enter en MySQL no significa –como ocurre en DOS– que se vaya ejecutar el comando. Si observas la imagen, hemos pulsado Enter detrás de la palabra localhost de la primera línea y lo que ha ocurrido es que el cursor ha saltado hasta la segunda incluyendo automáticamente –> que significa que continua la instrucción anterior.
En MySQL las ejecución de las instrucciones requiere que haya un ; inmediatamente antes del pulsar la tecla Enter.

Para ver una lista de los comandos disponibles podemos pulsar "?", para salir, tecleamos "exit".

Para acceder con usuario con contraseña sólo debemos añadir -p, por ejemplo
mysql --user=pepe -p mysql

¿Dónde se almacena la información?

Al instalar el programa se crea –dentro del directorio mysql– un subdirectorio llamado data destinado a contener todas las bases de datos que vayan a ser gestionadas por MySQL.

Cada base de datos estará contenida en un subdirectorio diferente que tendrá el mismo nombre que de la base que contiene.

El instalador de MySQL crea de forma automática dos bases de datos con los nombres: mysql y test.

¡No debes borrarlas!

La base de datos mysql contiene los datos relativos a usuarios y si no está presente, MySQL no funcionará.

La denominada test es una base de datos que permite chequear la instalación y la configuración de MySQL.

Posibles problemas de instalación

Si trataras de instalar MySQL en un directorio distinto al especificado por defecto en el instalador C:\mysql (podría ser una unidad distinta, un directorio diferente o ambos) el servidor no arrancaría a través del interface de MS-DOS descrito anteriormente.

Eso ocurriría porque MySQL no encontraría la ruta adecuada. La forma de solventar este problema sería crear un fichero con nombre my.ini (en el que se especificarían esas rutas) y guardarlo en el directorio windows.

Ejemplo de my.ini para usar un directorio distinto

Este sería el formato más simple del fichero my.ini que habrías de crear (y guardar en el directorio windows) si trataras de instalar MySQL en el directorio basededatos de la unidad F:. Mediante la inclusión de este fichero (inmediatamente después de la instalación de MySQL) y antes de hacer la puesta en marcha bajo MS-DOS solventarías la incidencia que te comentamos al margen.

[mysqld]
basedir=
F:/basededatos/

datadir=F:/basededatos/data/
Si realizaras el arranque directamente a través de winMysqlAdmin (sin seguir el proceso de efectuar el primer arranque desde MS-DOS) no sería necesario crear este fichero ya que winMysqlAdmin lo crearía automáticamente. Esta opción, mucho más práctica, en apariencia, es altamente desaconsejable ya que, además de que podría plantear problemas con el registro de usuarios, las versiones posteriores de MySQL ya no incluyen la herramienta winMyAdmin.

¿Qué es PHPMyAdmin?

PHPmyAdmin es, simplemente, un conjunto de utilidades y scripts escritos en lenguaje PHP que permiten gestionar bases de datos MySQL a través de una página web.

Mediante esta herramienta, sin conocer el lenguaje MySQL, podremos modificar, consultar, crear y borrar tanto bases de datos como tablas y registros contenidos en ellas.

También permite la gestión de usuarios –recuerda que MySQL requiere claves y contraseñas– y modificar sus privilegios de acceso.

¿Cuál es su utilidad?

La versión de MySQL para Windows no dispone de una interface propia que permita gestionar sus bases de datos a través de Windows.

La única posibilidad de gestión es a través de MS-DOS y eso requiere que el usuario sepa utilizar los comandos propios de las funciones MySQL.

Sin esos conocimientos de SQL, tendríamos como recurso la posibilidad de gestionar las bases de datos a través de nuestros propios scripts PHP, pero eso nos exigiría conocer con una cierta profundidad –a medida que avancemos en el curso lo iremos logrando– las funciones que PHP posee para la gestión de este tipo de bases de datos.

Es por eso que este conjunto de herramientas resulta muy cómodo y fácil de utilizar y está convirtiéndose –de hecho ya lo es– en el soporte estándar que la mayoría de los hosting facilitan a sus usuarios para gestionar las bases de datos alojadas en sus servidores.

Para acceder a php admin, lo único que tienes que hacer es, si has instalado xampp y has iniciado el servidor apache y mysql, teclear http://localhost (te llevará automáticamente a //localhost/xamp):


Los usuarios

En la imagen tienes la lista de usuarios actuales. Allí ves el archi mencionado usuario root y también al nuevo usuario pepe con su contraseña encriptada.



Las columnas marcadas con Y/N contienen las tablas de privilegios de cada usuario. Observa que tanto root como pepe tienen todos los privilegios, mientras que, el tercer usuario (con nombre en blanco y creado durante la instalación de MySQL) no tiene ninguno.

Un detalle importante (a recordar) es que la contraseña del usuario pepe no tiene ningún asterisco delante. Eso será así cuando utilicemos MySQL 4.0 (con MySQL 4.1 ahí aparecería ese asterisco). Ya veremos más adelante su incidencia.

Decir que también podríamos haber añadido el usuario directamente desde phpadmin, desde inicio --> Privilegios -->"Agregar un nuevo usuario"

dándole a continuación los permisos y contraseña que consideremos oportunos.

¿Por qué transferir los documentos?

Dado que estamos en un curso de PHP y teniendo en cuenta que PHP es un lenguaje del lado del servidor, resulta imprescindible que, a partir de ahora, trabajemos desde el servidor.

Tanto los ejemplos como los ejercicios que tendrás que ir realizando van a requerir, de forma ineludible, que utilicemos continuamente el servidor.

Por esta razón es necesario que toda la documentación esté accesible a través de nuestro propio servidor. Para descargar los ejemplos puedes bajarte el siguiente fichero.

Una vez descomprimida vamos a copiar su contenido íntegramente dentro del directorio C:\xampp\htdocs\cursoPHP.

Una vez transferida esta carpeta arrancaremos nuestro servidor Apache y abriremos el navegador poniendo como dirección http://localhost/cursoPHP/ y ya tendremos acceso a los ejemplos de este Curso.



Ha llegado el momento de empezar con PHP. ¡Adelante!




Fuente:
Página del ifstic: http://www.isftic.mepsyd.es/formacion/enred/

4 comentarios:

Anónimo dijo...

disculpen la verdad es un muy buen curso pero el fichero donde se encuentra la carpeta cursophp con los ejemplos no se puede descargar dice pagina no encontrada podrian volverlo a subir gracias

Anónimo dijo...

no funciona el enlace del fichero de ejamplos php porfavor subanlo nuevamente su paginaa es la mejor y muy bien explicada gracias

Anónimo dijo...

el link de fichero no funciona el de los ejemplos php gracias

Anónimo dijo...

disculpen la verdad es un muy buen curso pero el fichero donde se encuentra la carpeta cursophp con los ejemplos no se puede descargar dice pagina no encontrada podrian volverlo a subir gracias