Instalación de MySQL en CentOS

Cuando creamos nuestras aplicaciones comúnmente queremos instalar una base de datos, para ello mostraré cómo instalar la base de datos relacional más común que existe, MySQL. 

Para ello, por supuesto deberemos estar logueados en nuestro sistema a través del comando ssh y tener una cuenta con privilegios sudo preferiblemente un usuario distinto al root, como vimos en el post anterior crear un usuario sudo es muy sencillo. 

MySQL no está disponible en los repositorios de CentOS por defecto por lo cual deberemos instalar los repositorios en nuestro servidor. 

 

1 - Instalar MySQL 8.0 en CentOS 

A día de hoy, cuando estoy escribiendo este artículo, la última versión de MySQL es la versión 8.0 así que será la versión que instalemos, para ello, debemos seguir dos sencillos pasos:

  • Habilitar el repositorio de MysQL 8.0 

debemos correr en la terminal el siguiente comando, nótese, el uso del sudo para aplicar permisos de superusuario. 

$ sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
  • Instalar MySQL en CentOS 7
$ sudo yum install mysql-community-server

Durante la instalación yum, que el sistema que nos permite instalar aplicaciones en CentOS nos pedirá que importemos la la clave GPG de MySQL. introducimos y pulsamos Enter/Intro.

Y con estos sencillos pasos tendremos instalado MySQL en nuestro servidor Linux. 

 

2 - habilitar el servicio de MySQL en Linux

Cuando la instalación está completa, debemos habilitar el servicio del mismo en nuestro entorno Linux. para ello utilizaremos los siguientes comandos

$ sudo systemctl enable mysqld
$ sudo systemctl start mysqld

Podemos comprobar el estado de nuestro servicio con el siguiente comando.

$ sudo systemctl start mysqld

 

3 - Cambiar contraseña de MySQL

Cuando instalamos mysql nos viene por defecto una contraseña, esta es temporal y debemos cambiarla. Para saber que contraseña nos ha creado, podemos ejecutar el siguiente comando:

$ sudo grep 'temporary password' /var/log/mysqld.log

El cual tendrá una salida por pantalla similar a la siguiente

2019-12-24T12:23:31.128787Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: Ezd3EFw,

Debemos anotar o guardar la contraseña que nos indica ya que en el siguiente comando, nos la pedirá. 

Ejecutamos el comando mysql_secure_installation el cual nos pedirá introducir la contraseña temporal, para después, dejarnos indicar una contraseña a nuestro gusto. 

 

4 - Conectarse a MySQL desde línea de comandos

Para utilizar MySQL en nuestra terminal de powershell (o la que utilicemos) utilizaremos el cliente de MySQL el cual es instalado durante la instalación del punto 1. 

Para hacer login en nuestro servidor MySQL con el usuario root debemos de introducir el siguiente comando:

$ mysql -u root -p

Nota: -u nos permite introducir el usuario y -p nos pedirá la contraseña. 

Cuando pulsemos enter nos pedirá una contraseña, en la cual debemos introducir la nueva que hemos creado en el punto anterior. 

Y con estos sencillos pasos ya estaremos conectados al servidor MySQL, a partir de ahora podemos ejecutar consultas como si estuviéramos en un cliente de escritorio. 

 

5 - Creación de una base de datos

Ya estamos conectados a MySQL con un usuario activo, lo que vamos a hacer es crear una base de datos llamada ejemplodb para ello ejecutamos el siguiente comando. 

mysql> CREATE DATABASE ejemplodb;

Y veremos como nos creará la base de datos. 

 

6 - Creación de tablas

Para crear una tabla debemos utilizar el mismo proceso, pero primero, deberemos indicar que queremo utilizar la base de datos que hemos creado utilizando el comando: 

mysql> use ejemplodb;

En este ejemplo crearé una pequeña tabla donde tendremos usuario y correo. 

CREATE TABLE usuario(
  id INT PRIMARY KEY,
  nombre VARCHAR(50),
  email VARCHAR(30)
);

Y con esto ya tendremos la tabla creada. Este proceso puede ser algo tedioso ya que si tenemos muchas tablas escribir todo es aburrido, y puede llevar a errores.

hay varias formas de importar todo de golpe. 

  • Utilizando el comando mysqld  
$ mysqld nombre_bd < fichero.sql

Para esta versión veremos más adelante en más detalle cómo hacerlo correctamente para hacer copias de seguridad. 

  • Pegando el contenido con copiar pegar

En powershell, cuando nos conectamos a nuestro servidor MySQL podemos pegar, pero en vez de pulsando ctrl+v, utilizaremos el botón derecho del ratón. 

 

Conclusión. 

En este capítulo hemos visto cómo instalar una base de datos MySQL en Linux, y asegurarla con una contraseña segura. Así como un pequeño ejemplo de la creación de una base de datos y de algunas tablas. 

En capítulos posteriores veremos cómo hacer copias de seguridad.