Ver índice
 Instalar MySQL 5.1.56 y/o MariaDB

        Ocultar índice  

   Índice de contenidos
   Instalación en Windows
   Instalación en Ubuntu
   Servidores seguros
   Páginas dinámicas
   Sintaxis básica
   Operaciones
   Arrays
   Formatos de presentación
   Operadores
   Bucles
   Extraer y ord. información
   Funciones
   Ficheros externos
   Imágenes dinámicas
   Gestión de directorios
   Cookies y sesiones
   Clases y objetos
   Ficheros en formato PDF
   Bases de datos MySQL
   PHP y XML
   PDO - Bases SQLite / MySQL
   MySQL a traves de misqli
   Algo de JavaScript y AJAX


Proceso de instalación MySQL

En esta página podrás encontrar el enlace de descarga del fichero mysql-essential-5.1.56-win32.msi que contiene el fichero de instalación de MySQL. Para descargarlo va a ser necesario que te registres como usuario. Al hacerlo te enviarán a la dirección de correo que facilites una contraseña que te permitirá acceder a la descarga. Tal como hemos comentado en el caso de programas anteriores es posible que la versión que encuentres allí sea más reciente que la que he incluido en el autoinstalador. Las versiones más antiguas de MySQL puedes encontrarlas en este enlace.

Al hacer doble clic sobre su icono comienza el proceso de instalación cuya secuencia de pantallas sucesivas puedes ir viendo en la imagen que tienes aquí debajo.

Usaremos el directorio C:/ServidoresLocales/mysql para hacer la instalación del servidor. Configuraremos el directorio que ha de contener las bases de datos como un subdirectorio (con nombre data) del anterior.


Pulsando sobre la flechas de la imagen podrás visualizar los diferentes pasos del proceso

Arrancar MySQL

Puesta en servicio desde la consola de MS-DOS

Una vez finalizado el proceso de instalación ya podremos poner en marcha el servidor. Lo haremos desde el símbolo del sistema usando los comandos de MS-DOS. Para poner en marcha MySQL basta con situarnos en C:/ServidoresLocales/mysql/bin (subdirectorio bin del directorio en el que se efectuó la instalación de MySQL) mediante el comando: CD C:/ServidoresLocales/mysql/bin (subdirectorio bin y una vez allí ejecutar:


A partir de ese momento el servidor MySQL ya estará activo y ya podríamos gestionarlo tanto desde PHP como desde la propia consola MS-DOS.

  ¡Cuidado!  

En algunas versiones de Windows es posible que, al arrancar el servidor, se quede el cursor intermitente en la ventana de MS-DOS sin que regrese al prompt. Basta con cerrar la ventana –Símbolo del Sistema– y reabrirla. El servidor seguirá activo y ya será posible la ejecución de comandos desde esta consola.

Apagar el servidor MySQL

Para poder apagar el servidor es necesario utilizar un nombre de usuario. En este caso utilizaremos el nombre de usuario root (el usuario que se crea por defecto). La sintaxis sería la siguiente:


Acceso a las bases de datos

Al instalar el programa se crea –dentro del directorio mysql– un subdirectorio llamado bin que es el que contiene los programas que gestionan las bases de datos en MySQL. Otro subdirectorio, denominado data, es destinado a contener todas las bases de datos. Cada una de ellas 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 denominada test es una base de datos que permite chequear la instalación y la configuración de MySQL mientras que la denominada mysql contiene, entre otros, los datos relativos a usuarios y si no está presente MySQL no funcionará.

El acceso a las bases de datos MySQL requiere que los usuarios estén identificados mediante un nombre (login) y –opcionalmente– una contraseña (password) de acceso. El propio instalador de MySQL incluye, por defecto, un usuario 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. 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

Al nuevo usuario al que aludimos en el párrafo anterior vamos a darle 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 considerando el usuario pepe con contraseña pepa (ambas en minúsculas).

Ejecutar instrucciones MySQL

El primer paso para poder ejecutar sentencias MySQL será tener el servidor activo. Para ello habrá que seguir el proceso descrito anteriormente. El paso siguiente sería especificar qué usuario va a manejar MySQL. Dependiendo de sus privilegios tendrá accesos a parte o a todas las funciones. Para especificar el usuario root debemos escribir lo siguiente:


Si se tratara de un usuario con una contraseña distinta de la cadena vacía habría que añadir –p detrás del nombre de usuario tal como puedes ver en esta imagen. En este caso el sistema nos pedirá que escribamos la contraseña del usuario en cuestión.


Este mensaje de bienvenida y el cambio de directorio (observa que ahora el prompt ha cambiado y apunta hacia mysql) nos indican que MySQL está listo para recibir instrucciones.


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.

Creación del usuario pepe

Para crear el nuevo usuario utiliza exactamente la sintaxis que ves en la imagen.



  ¡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 continúa la instrucción anterior.
En MySQL la ejecución de una instrucción requiere que se haya tecleado ; inmediatamente antes del pulsar Enter.

Salir del interface de usuario

Para abandonar la interface de usuario basta con escribir exit tal como ves en la imagen. El sistema escribirá su mensaje de despedida de forma automática y el prompt regresará a C:/ServidoresLocales/mysql/bin.



  ¡Cuidado!  

Independientemente de que puedas crear otros usuarios con otras contraseñas es imprescindible crear el usuario pepe con contraseña pepa. Todos los ejemplos que incluimos requieren este usuario.

Desinstalación de MySQL

MySQL se desinstala desde la opción Agregar o quitar programas como cualquier otro programa de Windows. El proceso de desinstalación no elimina ni los ficheros ini ni tampoco el subdirectorio data. Este último se conserva como medida de seguridad ya que contiene todas las bases de datos y de eliminarlo se perdería la información. Si en algún momento tratas de desinstalar para hacer una nueva instalación, lo aconsejable sería mantener el directorio data y buscar y eliminar todos ficheros my.* (los ini de la instalación anterior) antes de realizar la nueva instalación.

Instalación de MariaDB

Según su página web oficial «MariaDB es un servidor de base de datos que ofrece una alternativa funcional de reemplazo para MySQL. MariaDB está construido por algunos de los autores originales de MySQL, con la ayuda de la comunidad más amplia de desarrolladores de software libre y de código abierto. Además de la funcionalidad principal de MySQL, MariaDB ofrece un rico conjunto de funciones mejoradas, incluyendo motores de almacenamiento alternativo, optimización del servidor, y los parches. »

Desde el punto de vista operativo podríamos decir que MariaDB es a MySQL lo que LibreOffice es a OpenOffice. Es decir, son «forks» o derivaciones de aquellas, bajo licencia GPL (General Public License), cuyo nacimiento se justifica en los temores de lo que en un futuro pueda derivarse de las adquisión por parte de Oracle® de Sun Microsystems® que a su vez en propietaria de MySQL.

Aunque se ofrece actualmente bajo la GNU GPL para cualquier uso compatible con esta licencia, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código. Esa circunstancia es radicalmente distinta a lo que ocurre con otros proyectos como Apache, donde el software es desarrollado por una comunidad pública y los derechos de autor están fragmentados ya que cada porción del código es propiedad de su autor individual.

Especulaciones futuristas aparte, MariaDB está disponible en este enlace en su versión 5.3. Entre las múltiples opciones de descarga disponibles sugerimos «marcar» las casillas de verificación correspondientes a Windows y a zip-file ya que no van a requerir ningún proceso de instalación y, además, van a permitirnos mantener en un mismo equipo una versión de MariaDB junto con otra de MySQL.

Una vez hayamos descargado el fichero .zip bastaría con descomprimirlo en cualquier lugar del equipo y ya estaría disponible para su uso. Bastaría con arrancarlo y pararlo utilizando exactamente los mismos comandos ya descritos para MySQL. La única diferencia estaría en que antes de ejecutar el comando MS-DOS mysqld de puesta en marcha de servidor habría que situar el prompt apuntando a subdirectorio bin del directorio en el que hayamos descomprimido MariaDB.

El uso de una u otra base de datos sólo requeriría elegir el directorio bin de una u otra para ejecutar desde él los comando de puesta en marcha y parada. Respecto a la utilización desde PHP no hemos podido constatar diferencia funcional alguna. Es decir, todo lo descrito en estas «Memorias» para MySQL es absolutamente válido, sin modificación alguna, para el caso de que optes por usar la base de datos MariaDB.

  ¡Cuidado!  

Puede ocurrir que en un momento determinado no funcione correctamente MySQL (o MariaDB) y que al intentar acceder a la dirección http://localhost/phpMyAdmin/ lees un mensaje de error similar a este: #2002 - El servidor no está respondiendo (o el socket del servidor MySQL local no está configurado correctamente).
Algunas veces el problema puede producirlo un «exceso de limpieza». Algunas aplicaciones del tipo Ccleaner o similares pueden estar configuradas para que al ejecutarlas se borren los ficheros cuyo tamaño sea cero bits. Esa acción podría eliminar algunos ficheros de ese tamaño contenidos el subdirectorio /data/mysql y su inexistencia puede ser la causa del problema.
Para comprobarlo podemos editar un fichero con extensión .err que suele tener el mismo nombre que el equipo y que está en el subdirectorio /data de mysql. Se identifica facilmente porque es el único con esa extensión.
Si vemos que contiene líneas similares a estas:
[ERROR] Fatal error: Can't open and lock privilege tables: File '.\mysql\host.MYD' not found (Errcode: 2)n>
File '.\mysql\plugin.MYD' not found (Errcode: 2
File '.\mysql\time_zone_leap_second.MYD not found (Errcode: 2)
File '.\mysql\servers.MYD' not found (Errcode: 2)
bastaría con crear ficheros nuevos (desde el mismo bloc de notas) en blanco (sin ningún contenido) y guardarlos con esos nombres en el subdirectorio /data/mysql.
Reiniciaríamos el servidor y MySQL (o MariaDB) volvería a funcionar correctamente.