Instalación del servidor
Información general
1. Estabilidad de las versiones
Solo las versiones clasificadas como GA (Generally Available) se consideran estables y pueden ser instaladas sin riesgo en entornos de producción.
Salvo por una razón específica, debemos evitar las antiguas versiones estables, que solo benefician a lo sumo las correcciones de seguridad, pero no aportan nuevas funcionalidades.
Las versiones RC (Release Candidate) son versiones candidatas al título de versiones estables y son por lo general de buena calidad. Sin embargo, salvo en casos excepcionales, no están recomendadas para uso en producción.
En cuanto a las versiones alfa o beta, son perfectas para descubrir las últimas funcionalidades en un entorno de prueba o de desarrollo, pero no son adecuadas para un entorno de producción debido a su falta de madurez.
2. Versión comunitaria y versión Enterprise
La versión comunitaria está disponible bajo licencia GNU GPL V2.
La versión Enterprise, bajo licencia comercial, se suministra con soporte de Oracle y herramientas de ayuda sobre la administración: el Enterprise Monitor, para la vigilancia de los foros, el Query Analyzer, para la detección y análisis de las peticiones de bajo rendimiento o la herramienta de backup MySQL Enterprise Backup.
Para una versión determinada, el servidor MySQL es el mismo ya estemos utilizando la versión comunitaria...
Instalación en UNIX y derivados
1. Instalación por gestor de paquetes
Se trata de la manera más fácil de instalar el servidor MySQL. Basta con conocer el nombre del paquete, que es a menudo mysql-server o mysql-server-version, y luego invocar al gestor de paquetes.
Ejemplo en Ubuntu en línea de comandos
sudo aptitude install mysql-server-5.7
El proceso de instalación se realiza de forma automática. El sistema solicitará la contraseña para la cuenta root durante la instalación.
El instalador podrá solicitar la configuración requerida para permitir el envío de e-mails (por defecto, seleccionamos Ninguna configuración).
Algunas distribuciones proporcionan una versión oficial modificada. Por ejemplo, para Debian y sus derivados, como Ubuntu, el archivo principal de configuración se encuentra en /etc/mysql/ y no en /etc/, como se ve con frecuencia en la documentación oficial. Estos cambios pueden ser fuente de confusión.
Una vez finalizada la instalación, podemos arrancar el servidor con el comando:
# service mysql start
Los paquetes presentes por defecto en las distribuciones no ofrecen siempre la versión más reciente de MySQL 5.7. A veces, contaremos solo con MySQL 5.6 o 5.5. En este caso, puede ser muy interesante utilizar los repositorios oficiales de Oracle, que están disponibles para Debian y derivados, así como para Red Hat y derivados.
Para Ubuntu, los pasos de instalación son los siguientes:
Descargue el archivo .deb desde la página siguiente: http://dev.mysql.com/downloads/repo/apt
Instale el archivo .deb.
# dpkg -i mysql-apt-config_version.deb
Refresque los repositorios:
# apt-get update
Instale el paquete mysql-server:
# apt-get install mysql-server
En todo momento, se puede especificar las versiones principales a las que se podrá acceder a partir del repositorio de Oracle mediante el comando:
# dpkg-reconfigure mysql-apt-config
Los comandos para las distribuciones Red Hat/CentOS son similares, utilizando yum en lugar de apt-get.
2. Instalación con ejecutables precompilados
¿Por qué no usar el gestor de paquetes si se trata aparentemente de la manera más fácil de instalar el servidor? Son varias las razones por las que es preferible optar por ejecutables precompilados:
-
Si deseamos ejecutar varias instancias de MySQL...
Instalación en Windows
1. Utilización del instalador
A partir de la versión 5.5, el instalador de Windows es mucho más completo y permite, entre otras cosas, instalar productos complementarios o actualizaciones e incluso eliminar antiguas versiones.
El instalador nos preguntará en la primera pantalla el tipo de instalación que deseamos realizar.
A continuación, seleccionamos la versión de MySQL que deseamos instalar:
Luego, hacemos clic en Execute. La instalación se lleva a cabo y, una vez concluida, aparecerá un mensaje indicando que la operación ha terminado:
Luego podemos escoger, si lo deseamos, algunos parámetros de configuración (si no estamos seguros de nuestra elección, más adelante podremos cambiar cualquier parámetro en el archivo de configuración my.ini):
El siguiente paso consiste en asignar una contraseña al usuario root si lo deseamos (esto es, naturalmente, muy recomendable), y podemos crear otros usuarios:
La configuración elegida se aplicará a continuación:
Por último, se mostrará un mensaje cuando la instalación haya terminado:
2. Instalación con archivos ejecutables
Los archivos ejecutables se pueden descargar como archivo .zip a partir de la categoría Windows y Windows x64 de la página de descargas del sitio www.mysql.com.
Después de haber descargado y descomprimido el archivo .zip en el directorio que hayamos elegido, no queda más que crear un archivo de configuración, tradicionalmente conocido en Windows como my.ini (en lugar de my.cnf). Lo más simple es copiar y pegar uno de los archivos de ejemplo presentes en la raíz del directorio descomprimido y modificar algunos parámetros.
Así, debemos pensar en:
-
Cambiar el número del puerto en la sección [client] y la sección [mysqld] si otro servidor ya está a la escucha en el puerto 3306.
-
Introducir al parámetro basedir en la sección [mysqld] con la ruta del directorio...
Actualización de MySQL
1. Precauciones necesarias antes de la actualización
a. Saltos de versión
Si deseamos cambiar de versión menor, no es necesario pasar por todas las versiones menores intermedias. Por ejemplo, podemos pasar directamente sin grandes riesgos de una versión 5.6.17 a una versión 5.6.30. Se recomienda, sin embargo, conocer las diferencias entre las dos versiones (ver más arriba).
Al contrario, cuando se trata de versiones principales, se aconseja pasar por todas las versiones principales intermedias. En algunos casos, es posible saltar una o varias versiones principales, para, por ejemplo, actualizar de 5.1 a 5.6.
Consulte, por ejemplo, el siguiente artículo en el que se explica cómo pasar directamente de MySQL 5.0 a MySQL 5.7: http://mysqlserverteam.com/upgrading-directly-from-mysql-5-0-to-5-7-using-an-in-place-upgrade/
Observe que el procedimiento descrito en dicho artículo no permite realizar una actualización sin interrupción del servicio, lo que es un prerrequisito en la mayoría de los casos.
b. Cambios introducidos por una versión
Se aconseja leer siempre los cambios introducidos por la versión a la que se desea migrar (así como los cambios de todas las versiones intermedias si se quiere saltar las versiones). En efecto, aunque parece lógico que una versión más reciente solo contenga mejoras, ocurre de vez en cuando que la corrección de un problema supone otro problema, o conlleva que se elimine una funcionalidad.
A modo de ejemplo, el comando SQL RENAME DATABASE fue añadido en la versión 5.1.7...
Instalación de las herramientas utilizadas en el libro
Algunos de los ejemplos de este libro están basados en dos bases de datos de ejemplo que pueden descargarse desde el sitio www.mysql.com. Le será muy útil instalar estas bases de datos para poder reproducir directamente las operaciones que se describen en una instancia instalada en su equipo habitual.
1. Instalación de la base world
Encontrará un archivo comprimido de la base world en la siguiente dirección: http://dev.mysql.com/doc/index-other.html. Después de haber descargado y descomprimido el archivo, obtendrá un archivo world.sql que le permitirá restablecer los datos después de haber creado la base world:
mysql> CREATE DATABASE world;
shell> mysql -uroot -p world < world.sql
Si todo funciona, encontrará tres tablas en la base de datos world:
mysql> USE world;
mysql> SHOW TABLES;
+-----------------+
| Tables_in_world |
+-----------------+
| City |
| Country |
| CountryLanguage |
+-----------------+
2. Instalación de la base sakila
El procedimiento es similar al descrito para la base world: después de haber descargado y descomprimido el archivo disponible en la misma página...
Instalación de Percona Toolkit
El Percona Toolkit es un conjunto de scripts que facilita el trabajo de los administradores, haciendo que tareas por lo general engorrosas resulten simples. Estos scripts permiten, por ejemplo:
-
Identificar de forma sencilla índices redundantes.
-
Analizar un registro de peticiones con el fin de extraer las peticiones de mayor peso.
-
Verificar la coherencia de los datos entre un servidor maestro y un servidor esclavo.
-
Ejecutar comandos ALTER TABLE sin bloqueos.
Tendremos la oportunidad de estudiar el uso de varias de estas herramientas a lo largo de este libro.
Existen varios métodos para instalar Percona Toolkit:
-
Usar el Gestor de paquetes: se trata del método más sencillo, pero hay muchas posibilidades de encontrarse con una versión antigua. El comando que se debe introducir en Ubuntu es:
shell> sudo aptitude install percona-toolkit
-
Descargar una distribución en tar.gz:
shell> wget http://www.percona.com/get/percona-toolkit.tar.gz
-
Descargar de forma individual las herramientas que nos interesen. Al ser cada herramienta autónoma, podemos instalar solo algunas de ellas:
shell> wget http://www.percona.com/get/HERRAMIENTA
-
donde HERRAMIENTA es el nombre de la herramienta que se desea instalar (por ejemplo, pt-query-digest).
-
Podemos consultar la documentación de las herramientas en la página:http://www.percona.com/software/percona-toolkit
Tenga en cuenta que las herramientas...
Instalación de MySQL Utilities
Los MySQL Utilities son un conjunto de scripts suministrados por Oracle para facilitar el trabajo de los administradores de bases de datos. Esta breve descripción nos recordará sin duda a Percona Toolkit, al que se ha hecho referencia en la sección anterior. En efecto, las dos herramientas son muy similares en principio, pero existen diferencias notables:
-
El Percona Toolkit está escrito en PERL, mientras que los MySQL Utilities están escritos en Python. Este detalle puede tener su importancia si necesitamos desarrollar extensiones.
-
El Percona Toolkit se creó a mediados de los años 2000 y el código ha podido madurar y ser probado por muchos usuarios. Los MySQL Utilities datan del año 2010 y la base de usuarios es mucho más reducida.
-
Los MySQL Utilities siguen la evolución de las funciones de MySQL, mientras que Percona Toolkit no sigue a menudo las funcionalidades disponibles a partir de MySQL 5.6 (por ejemplo, los GTID; ver el capítulo Replicación).
-
Las herramientas de MySQL Utilities no siempre se pueden utilizar en producción porque a veces tienen requisitos previos inalcanzables, mientras que todas las herramientas de Percona Toolkit están diseñadas para utilizarse con el mínimo de riesgos en producción.
Existen varias formas de instalar MySQL Utilities, dependiendo del sistema operativo:
-
Para Microsoft Windows...