Instalación y configuración de MySQL 5.7.13 desde código fuente en CentOS 7

Requisitos del sistema y materiales necesarios

Sistema operativo: CentOS 7, versión de kernel 3.10.0-327.el7.x86_64.

Paquete fuente: mysql-boost-5.7.13.tar.gz, el cual incluye la biblioteca Boost necesaria.

Instalación de cmake 3.5.2

cmake es una herramienta de compilación independiente del directorio fuente. Descargamos e instalamos la versión requerida.


# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz
# tar xf cmake-3.5.2.tar.gz
# cd cmake-3.5.2
# yum install -y make gcc gcc-c++ ncurses-devel
# ./bootstrap
# gmake
# gmake install

Descarga y preparación del código fuente de MySQL

Obtenemos el archivo comprimido desde el repositorio oficial.


# wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.13.tar.gz
# tar xf mysql-boost-5.7.13.tar.gz
# cd mysql-5.7.13

Configuración de la compilación con cmake

Definimos los directorios de instalación y datos, creamos el usuario y grupo dedicados, y asignamos permisos.


# mkdir -p /opt/mysql_server /data/mysql_storage
# groupadd -r mysql
# useradd -g mysql -r -d /data/mysql_storage mysql
# chown -R mysql:mysql /opt/mysql_server /data/mysql_storage

Ejecutamos cmake con opciones para habilitar motores de almacenamiento y ajustes de red. Se recomienda cambiar el charset a utf8mb4 para soporte completo de Unicode.


# cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql_server \
-DMYSQL_DATADIR=/data/mysql_storage \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/var/run/mysqld.sock \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_BOOST=/ruta/a/boost_1_59_0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci

Si se reporta un error por falta de bison, instalarlo con yum.


# yum -y install bison

Compilación e instalación de los binarios

Procedemos a compilar el código fuente y luego instalar los archivos en el directorio especificado.


# make
# make install

Configuración del servicio y base de datos inicial

Integramos el servicio en el sistema, inicializamos los archivos de datos y establecemos permisos.


# cp ./support-files/mysql.server /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig mysqld on

Modificamos el directorio home del usuario mysql y realizamos la inicialización.


# cd /opt/mysql_server
# mkdir secure_files
# chmod 750 secure_files
# chown -R mysql:mysql .
# ./bin/mysqld --initialize --user=mysql

La salida generará una contraseña temporal para root. Se debe anotar esta contraseña para el primer acceso.

Configuramos los certificados SSL y ajustamos los permisos finales.


# ./bin/mysql_ssl_rsa_setup
# chown mysql:mysql secure_files

Inicio del servicio y verificación

Iniciamos MySQL y nos conectamos usando la contraseña temporal.


# service mysqld start
# mysql -u root -p

Tras ingresar la contraseña temporal, se debe cambiar a una contraseña segura utilizando el siguiente comando SQL.


mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'contraseña_segura';

Verificamos la versión del servidor y la conectividad básica.

Etiquetas: MySQL-5.7.13 cmake CentOS-7 compilación-código-fuente instalación-base-datos

Publicado el 6-1 02:28