5.1. Instalacion de MYSQL

La instalación de MySQL no representa mayores problemas, ya que muchas distribuciones incluyen paquetes con los que realizar la instalación y configuración básica. Sin embargo, aquí veremos la instalación de MySQL utilizando el código fuente que se puede obtener en www.mysql.com. Cabe destacar que el uso de una versión de MySQL compilada tiene la ventaja de que, probablemente, se adaptará mucho mejor al entorno del servidor donde se ejecutará, proporcionando así un mejor rendimiento. Por contra, implicará más trabajo en caso de que surjan errores en la versión y tengamos que actualizarla. Las instrucciones que se describen en este apartado se basan en la documentación incluida en la distribución.

En primer lugar, debemos asegurarnos de que contamos con las librerías y utilidades necesarias para compilar los ficheros fuente. Principalmente la lista de verificación debe incluir los ficheros siguientes:

•    Compilador gcc   
•    Librerías libgc   

El proceso de instalación incluye los siguientes pasos:

•    Descomprimir los archivos fuente

cd /usr/local/src tar xzvf mysql-VERSION.tar.gz cd mysql-VERSION


•    Configurar la versión de MySQL que vamos a obtener. El script 'configure' admite muchos parámetros que deberemos examinar mediante la opción '--help'. Según los esquemas de tabla que necesitemos o extensiones muy concretas que debamos utilizar, deberemos examinar con cuidado sus opciones. En su versión más simple lo ejecutaríamos de la siguiente manera:

./configure -prefix=/usr/local/mysql


•    Compilar. Procederemos a compilar si no ha habido problemas con la configuración. El parámetro -prefix especifica la ruta del sistema de ficheros donde será instalado.

make


•    Instalar el sistema el servidor ya compilado, mediante la siguiente instrucción:
 

make install


•    Crear la base de datos inicial del servidor, la que almacenará los usuarios y privilegios. Esta base de datos es imprescindible para que los usuarios se puedan conectar al servidor.

scripts/mysql_istall_db


•    Crear un nuevo usuario y su grupo, para que el servicio se ejecute en un entorno de privilegios restringido en el sistema operativo. En ningún caso se recomienda que el usuario que ejecute el servicio mysqld sea root.

groupadd mysql useradd -g mysql mysql


•    Todos los archivos deben ser propiedad de root (mysql no debe poder modificarse a sí mismo) y del grupo mysql. El directorio de datos será del usuario mysql para que pueda trabajar con las bases de datos, ficheros de registro, etc.

chown -R root /usr/local/mysql chgrp -R mysql /usr/local/mysql chown -R mysql /usr/local/mysql/var


•    Crear el archivo de configuración. La distribución incluye varios archivos de configuración que sirven como plantilla para adaptarlo a nuestras necesidades. En  este caso, utilizamos la configuración media como plantilla. Opcionalmente podemos editar el archivo /etc/my.cnf

cp support-files/my-medium.cnf /etc/my.cnf


•    Lanzar el servidor

/usr/local/mysql/bin/mysql_safe &


•    En este estado, el servidor no puede servir aún de SGBD. Por defecto, tendremos creado un usuario 'root' sin contraseña que podrá acceder tanto desde el equipo local como remotamente. El siguiente paso será asignar una contraseña a este usuario y repasar los usuarios y privilegios definidos. Para asignar la contraseña, deberemos hacer lo siguiente:

mysqladmin -u root password "nuevapasswd" mysqladmin -u root -h host_name password "nuevapasswd"


Podemos probar el funcionamiento del SGBD conectando con el cliente 'mysql':

mysql -u root -p


Veamos ahora algunas características del servidor que acabamos de instalar:


•    mysqld. El primer método es lanzarlo directamente, se le pueden especificar las opciones que el administrador desee.

•    mysqld_safe. Es un script que ejecuta mysqld garantizando una configuración segura. Es mucho más recomendable que ejecutar mysqld directamente.

•    mysql_server. Es un guión que realiza dos tareas: iniciar y detener el servidor mysqld con los parámetros start y stop respectivamente. Utiliza mysqld_safe para lanzar el servidor mysqld. No es común encontrarlo con ese nombre, ya que generalmente se copia como el archivo /etc/init.d/mysql

•    mysql_multi. Permite la ejecución de múltiples servidores de forma simultanea.

Para detener el servidor básicamente tenemos dos métodos:


•    /etc/init.d/mysql  stop.  Es  el  mecanismo  estándar  en  los  sistemas  tipo UNIX. Aunque los directorios pueden cambiar.

•    $ mysqladmin -u root -p shutdown. Es la utilidad para realizar tareas administrativas en un servidor MySQL, en este caso le pasamos el parámetro 'shutdown' para detener el servicio.


Para que los mensajes del servidor aparezcan en español, se debe ejecutar con el parámetro -language:

$ mysqld --language=spanish


Otra opción es agregar en el archivo /etc/my.cnf una línea en la sección [mysqld]

[mysqld] language = /usr/share/mysql/spanish