Con el lanzamiento de CentOS 7 MySQL, el sistema de gestión de bases de datos relacionales de código abierto más popular del mundo ya no está disponible en los repositorios de CentOS y MariaDB se ha convertido en el sistema de base de datos predeterminado. MariaDB es un reemplazo directo binario compatible con versiones anteriores de MySQL.
En este tutorial, le mostraremos cómo instalar MySQL en una máquina CentOS 7.
Si desea instalar MariaDB en lugar de MySQL, consulte nuestro tutorial para obtener instrucciones de instalación.Requisitos previos #
Antes de comenzar con este tutorial, asegúrese de haber iniciado sesión en su servidor con una cuenta de usuario con privilegios de sudo o con el usuario raíz. Es una buena práctica ejecutar comandos administrativos como usuario sudo en lugar de root, si no tiene un usuario sudo en su sistema, puede crear uno siguiendo estas instrucciones.
Como mencionamos en la introducción, MySQL no está disponible en los repositorios predeterminados de CentOS 7, por lo que instalaremos los paquetes desde el repositorio MySQL Yum. En las siguientes secciones, le mostraremos cómo instalar MySQL 8.0 y MySQL 5.7.
Debes instalar solo una versión de MySQL en su servidor CentOS 7. Si no está seguro de qué versión instalar, consulte la documentación de las aplicaciones que va a implementar en su servidor.
Instalar MySQL 8.0 en CentOS 7 #
Al momento de escribir este artículo, la última versión de MySQL es la versión 8.0. Para instalarlo en su servidor CentOS 7, siga los pasos a continuación:
-
Habilite el repositorio MySQL 8.0 con el siguiente comando:
sudo yum localinstall https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
-
Instale el paquete MySQL 8.0 con yum:
sudo yum install mysql-community-server
Durante la instalación, yum puede solicitarle que importe la clave GPG de MySQL. Escribe
y
y pulsaEnter
.
Instalar MySQL 5.7 en CentOS 7 #
Para instalar la versión estable anterior de MySQL, MySQL versión 5.7 en un servidor CentOS 7, siga los pasos a continuación:
-
Habilite el repositorio MySQL 5.7 con el siguiente comando:
sudo yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
-
Instale el paquete MySQL 5.7 con:
Instale MySQL como cualquier otro paquete usando yum:
sudo yum install mysql-community-server
Iniciando MySQL #
Una vez completada la instalación, inicie el servicio MySQL y habilítelo para que se inicie automáticamente al arrancar con:
sudo systemctl enable mysqld
sudo systemctl start mysqld
Podemos comprobar el estado del servicio MySQL escribiendo:
sudo systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2018-05-23 11:02:43 UTC; 14min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Process: 4293 ExecStartPre=/usr/bin/mysqld_pre_systemd (code=exited, status=0/SUCCESS)
Main PID: 4310 (mysqld)
Status: "SERVER_OPERATING"
CGroup: /system.slice/mysqld.service
└─4310 /usr/sbin/mysqld
Asegurando MySQL #
Cuando el servidor MySQL se inicia por primera vez, se genera una contraseña temporal para el usuario root de MySQL. Puede encontrar la contraseña ejecutando el siguiente comando:
sudo grep 'temporary password' /var/log/mysqld.log
La salida debería verse así:
2018-05-23T10:59:51.251159Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: q&0)V!?fjksL
Tome nota de la contraseña, porque el siguiente comando le pedirá que ingrese la contraseña raíz temporal.
Ejecute mysql_secure_installation
comando para mejorar la seguridad de nuestra instalación de MySQL:
sudo mysql_secure_installation
Securing the MySQL server deployment.
Enter password for user root:
Después de ingresar la contraseña temporal, se le pedirá que configure una nueva contraseña para el usuario root. La contraseña debe tener al menos 8 caracteres y contener al menos una letra mayúscula, una letra minúscula, un número y un carácter especial.
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:
El script también le pedirá que elimine el usuario anónimo, restrinja el acceso del usuario raíz a la máquina local y elimine la base de datos de prueba. Debe responder "S" (sí) a todas las preguntas.
Conectando a MySQL desde la línea de comandos #
Para interactuar con MySQL a través de la terminal usaremos el cliente MySQL que se instala como una dependencia del paquete del servidor MySQL.
Para iniciar sesión en el servidor MySQL como usuario raíz, escriba:
mysql -u root -p
Se le pedirá que ingrese la contraseña raíz que configuró previamente cuando mysql_secure_installation
se ejecutó el script.
Una vez que ingrese la contraseña, se le presentará el shell mysql como se muestra a continuación:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.11 MySQL Community Server - GPL
Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
Crear una base de datos #
Una vez que esté conectado al shell de MySQL, puede crear una nueva base de datos escribiendo el siguiente comando:
CREATE DATABASE new_database;
Query OK, 1 row affected (0.00 sec)
Crear tablas #
Ahora que creamos una base de datos, podemos crear una tabla para almacenar algunos datos.
Antes de ejecutar las instrucciones SQL para crear una tabla, debemos conectarnos a la base de datos:
use new_database;
En este ejemplo, crearemos una tabla simple llamada contacts
con tres campos, id
, name
y email
:
CREATE TABLE contacts (
id INT PRIMARY KEY,
name VARCHAR(30),
email VARCHAR(30)
);
Query OK, 1 row affected (0.00 sec)