Instalación de MYSQL desde codigo fuente en Linux
¡Hola! Hoy vamos a aprender a realizar una completa instalación de MYSQL desde codigo fuente en linux. Esta tarea me fue encomendada como trabajo durante mis jornadas lectivas, concretamente en la asignatura Administración de Sistemas Gestores de Bases de datos, al no encontrar ningún tutorial completo, y tan sólo haberme guiado por la Web oficial de MYSQL, me animo a compartir con vosotros una completa guía para instalar «sin dolores de cabeza» MYSQL desde código fuente en Linux. ¡Allá vamos!
Requisitos previos:
- Software de virtualización Oracle VirtualBox (Versión 5.1.6) → Descargar
- Sistema Operativo Centos (6.3) → Descargar
Instalaremos el Software de Virtualización Oracle VirtualBox y crearemos una máquina virtual
con el Sistema Operativo Centos 6.3 instalado.
Primeros pasos para instalar MYSQL Server desde código fuente en Linux:
Una vez arrancada la máquina virtual Centos 6.3 vamos a descargarnos desde la Web oficial de MySQL el archivo tar.gz que nos va a permitir realizar la instalación desde codigo fuente.
Descarga de MySQL server en codigo fuente → Descargar
Una vez descargado el archivo tar.gz de Mysql Server vamos a moverlo al escritorio para tenerlo
más a mano y poder trabajar más cómodamente con él.
CÓDIGO:
mv /root/Descargas/mysql-5.7.15.tar.gz /root/Escritorio
Ahora vamos a descomprimir el archivo (suponiendo que estamos ubicados en el Escritorio):
CÓDIGO:
tar -xzvf mysql-5.7.15.tar.gz
Dejaremos por ahora la carpeta descomprimida en el escritorio. Vamos a instalar cmake, una herramienta multiplataforma de generación o automatización de código necesaria a la hora de instalar mysql. Para instalarla tan sólo hemos de ejecutar en consola el siguiente comando:
CÓDIGO:
yum install cmake
Ahora instalaremos make, una herramienta de desarrollo de software y control de dependencias necesaria durante la instalación.
Debemos comprobar que la herramienta sea en su versión 3.75 o posterior. Para instalarla tan sólo hemos de ejecutar el siguiente comando:
CÓDIGO:
yum install make
Necesitaremos un compilador ANSI C++, en nuestro caso usaremos GCC, debemos comprobar que la versión sea la 4.4.6 o superior. Ejecutaremos el siguiente comando para comenzar con la instalación.
CÓDIGO:
yum install gcc-c++
Ahora vamos a instalar las librerías Boost C++ requeridas para “construir” MySQL. Vamos a descargar la versión de Boost 1.59.0, para ello seguiremos los siguientes pasos:
- Descargar Boost C++ libraries → Descargar
- Movemos la carpeta al escritorio para tenerla fácil de localizar:
- Descomprimir con el siguiente comando: tar -xzvf (nombredelarchivoboost)
- Una vez descomprimido, y dentro de la carpeta, ejecutar./bootstrap.sh
- Por último, vamos a ejecutar: ./b2 install –prefix=/root/Escritorio/datosboost ( “datosboost”
es el directorio donde queremos que Boost.Build sea instalado. Yo he usado esa ruta para el ejemplo,
tú puedes usar la que más te convenga. (Este proceso tarda un buen rato)
A continuación, vamos a instalar ncurses y ncurses-devel (bibliotecas de programación) necesarias para la instalación de mysql por lo que será necesario ejecutar los siguientes comandos:
CÓDIGO:
yum install ncurses
CÓDIGO:
yum install ncurses-devel
Instalación de MYSQL Server
Ahora sí, vamos a comenzar la instalación de Mysql desde codigo fuente. Vamos a situarnos en el directorio mysql que descomprimimos al principio y vamos a ejecutar el siguiente comando:
CÓDIGO:
cmake . -DWITH_BOOST=/root/Escritorio/datosboost/include/-DCURSES_LIBRARY=/usr/lib/libncurses.so -DCURSES_INCLUDE_PATH=/usr/include/
(Recordemos que /root/Escritorio/datosboost es el directorio que elegimos durante la instalación de boost, donde queríamos que fuese instalado)
Ahora vamos a ejecutar el comando que más tiempo se va a tomar el sistema en ejecutar y en llevar a cabo, prepara un buen libro, o varios capítulos de tu serie favorita ya que el proceso se demora más de una hora en terminar.
El comando en cuestión que debemos ejecutar a continuación es el siguiente:
CÓDIGO:
make
Por último, una vez finalizado el larguísimo anterior proceso, hemos de ejecutar el siguiente comando:
CÓDIGO:
make install
Post-Instalación y configuración de Mysql
Vamos a crear el grupo mysql y a añadir el usuario de mysql al grupo, acciones necesarias para la inicialización, configuración y uso de mysql. Para ello ejecutaremos los siguientes comandos:
CÓDIGO:
groupadd mysql
CÓDIGO:
useradd -g mysql mysql
Inicializando el directorio de datos
¡Ya va quedando menos! Ya llevamos la mitad de la instalación de MYSQL desde codigo fuente en Linux. ¡Continuemos!
Después de haber instalado mysql debemos iniciar el directorio de datos incluyendo las tablas de la base de datos de sistema mysql. En algunos tipos de instalación, se iniciará automáticamente, pero en este tenemos que hacerlo de manera manual.
Dentro de la carpeta de instalación de mysql (/usr/local/mysql) vamos a crear la carpeta “mysql-files”, una carpeta necesaria para utilizar como valor de la variable “secure_file_priv”. (Variable que limita las operaciones de importación/exportación a un directorio en concreto). También con el segundo comando daremos los permisos que requiere.
CÓDIGO:
mkdir mysql-files
CÓDIGO:
chmod 750 mysql-files/
Al haber realizado la instalación como root el contenido pertenecerá al usuario root. Debemos cambiar el propietario de las carpetas a mysql con los siguientes comandos. (El primero cambia el atributo propietario al usuario mysql y el segundo cambia el atributo grupo al grupo mysql previamente creado)
CÓDIGO:
chown -R mysql .
chgrp -R mysql .
Normalmente la inicialización del directorio de datos debe ser realizada tan sólo la primera vez que instalas MySQL. Para ello, estando dentro de la carpeta de instalación de MySQL(usr/local/mysql/) usaremos el siguiente comando:
CÓDIGO:
bin/mysqld –initialize –user=mysql
Una vez ejecutado el comando, se mostrará un mensaje similar a “A temporary password is generated for root@localhost: TllAJUSe,9wA” Nosotros deberemos copiar la contraseña, será necesaria posteriormente al realizar la conexión al servidor. Guardaremos en un archivo de texto la contraseña para su posterior uso.
Ahora crearemos una carpeta con el nombre “mysqld” en /var/run con el siguiente comando:
CÓDIGO:
mkdir /var/run/mysqld
Haremos propietario al usuario mysql y al grupo de la carpeta anteriormente creada con los siguientes
comandos (suponiendo que estamos situados dentro de ella):
CÓDIGO:
chown -R mysql .
chgrp -R mysql .
Ahora configuraremos el archivo de configuración /etc/my.cnf editándolo con el siguiente comando:
CÓDIGO:
vi /etc/my.cnf
Recordemos, que una vez ejecutado el comando vi, tendremos el editor de archivos en la consola, para
comenzar a editar pulsaremos la tecla “i” (insertar) e insertaremos en el archivo la siguiente línea:
basedir=/usr/local/mysql
Y editaremos la línea “socket” dejándola de la siguiente manera:
Socket=/tmp/mysql.sock
Recordamos que para salir del editor debes pulsar la tecla de escape y después escribir :wq Este debería ser el resultado del archivo final:
Iniciando y conectando con el servidor
Ya estamos a punto de terminar, como penúltimo paso debemos iniciar el servidor, situados en la carpeta de instalación de mysql(usr/local/mysql/) ejecutaremos el siguiente comando:
CÓDIGO:
bin/mysqld_safe –user=mysql &
Veremos que la consola se queda bloqueada. El servidor esta iniciado. Ahora debemos abrir otra consola y conectar con el servidor:
Situados en la carpeta de instalación de mysql(usr/local/mysql) ejecutar el siguiente comando:
CÓDIGO:
bin/mysql -uroot -p
El servidor nos solicitará una contraseña y deberemos introducir la que habíamos apuntado anteriormente, si hemos realizado los pasos de forma correcta habremos terminado de instalar, configurar y conectar con nuestro servidor de MYSQL.
Espero que te haya sido de gran utilidad esta guía de instalación de MYSQL desde codigo fuente en Linux. Me encantaría saber si te ha sido de utilidad, ¡No dudes en dejar tu comentario!
1 comentario en “Instalar MYSQL desde codigo fuente en Linux”
Tengo una pregunta de donde sale el directorio usr/local/mysql porque al querer entrar a ese directorio y darle permisos me pone que ese directorio no existe, creo que falta ese paso porque he seguido todo al pie de la letra y no me aparece ese directorio.