MySQL es el sistema de administración de bases de datos relacionales de código abierto más popular. Es rápido, fácil de usar, escalable y una parte integral del popular LAMP
y LEMP
pilas.
En este tutorial, le mostraremos cómo instalar y asegurar MySQL en una máquina con Ubuntu 18.04.
Requisitos previos #
Asegúrese de haber iniciado sesión como usuario con privilegios de sudo.
Instalando MySQL en Ubuntu #
Al momento de escribir este artículo, la última versión de MySQL disponible en los repositorios oficiales de Ubuntu es MySQL versión 5.7.
Para instalar MySQL en su servidor Ubuntu, siga los pasos a continuación:
-
Primero, actualice el índice del paquete apt escribiendo:
sudo apt update
-
Luego instale el paquete MySQL con el siguiente comando:
sudo apt install mysql-server
-
Una vez completada la instalación, el servicio MySQL se iniciará automáticamente. Para comprobar si el servidor MySQL se está ejecutando, escriba:
sudo systemctl status mysql
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2018-06-20 11:30:23 PDT; 5min ago Main PID: 17382 (mysqld) Tasks: 27 (limit: 2321) CGroup: /system.slice/mysql.service `-17382 /usr/sbin/mysqld --daemonize --pid-file=/run/mysqld/mysqld.pid
Asegurando MySQL #
El paquete del servidor MySQL viene con un script llamado mysql_secure_installation
que puede realizar varias operaciones relacionadas con la seguridad.
Ejecute el script escribiendo:
sudo mysql_secure_installation
Se le pedirá que configure el VALIDATE PASSWORD PLUGIN
que se utiliza para probar la solidez de las contraseñas de los usuarios de MySQL y mejorar la seguridad. Hay tres niveles de política de validación de contraseñas, bajo, medio y fuerte. Presiona ENTER
si no desea configurar el complemento de validación de contraseña.
En el siguiente mensaje, se le pedirá que establezca una contraseña para el usuario root de MySQL. Una vez que lo haga, el script también le pedirá que elimine al 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.
Iniciar sesión como root #
Para interactuar con el servidor MySQL desde la línea de comandos, puede usar la utilidad de cliente MySQL que se instala como una dependencia del paquete del servidor MySQL.
En los sistemas Ubuntu que ejecutan MySQL 5.7 (y versiones posteriores), el usuario raíz se autentica mediante auth_socket
complemento por defecto.
El auth_socket
el complemento autentica a los usuarios que se conectan desde el localhost
a través del archivo de socket de Unix. Esto significa que no puede autenticarse como root proporcionando una contraseña.
Para iniciar sesión en el servidor MySQL como usuario raíz, escriba:
sudo mysql
Se le presentará el shell de MySQL como se muestra a continuación:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.7.22-0ubuntu18.04.1 (Ubuntu)
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.
Si desea iniciar sesión en su servidor MySQL como root desde un programa externo como phpMyAdmin
tienes dos opciones.
El primero es cambiar el método de autenticación de auth_socket
a mysql_native_password
. Puede hacerlo ejecutando el siguiente comando:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'very_strong_password';
FLUSH PRIVILEGES;
La segunda opción recomendada es crear un nuevo usuario administrativo con acceso a todas las bases de datos:
GRANT ALL PRIVILEGES ON *.* TO 'administrator'@'localhost' IDENTIFIED BY 'very_strong_password';