Cómo instalar y configurar MySQL en Ubuntu 20.04 LTS

MySQL, que significa My (nombre de la hija del cofundador Michael Widenius) Structured Query Language, es un sistema de administración de bases de datos relacionales de código abierto. Este RDBMS es compatible con Oracle y se ejecuta en casi todas las plataformas, como Linux, UNIX y MS Windows. MYSQL suele ser la primera opción para la publicación en línea y las aplicaciones basadas en la web. Facebook, YouTube y Twitter todos usan MySQL como su RDBMS. MySQL es parte de la pila LAMP muy popular: Linux, Apache, MySQL y Python / PHP / Perl.

En este artículo describimos paso a paso cómo proceder:

  • Instale la última versión de MySQL disponible en el repositorio de paquetes apt
  • Ejecute el script de seguridad de MySQL
  • Configurar el usuario root para acceder al shell de MySQL
  • Finalmente prueba que MySQL se está ejecutando

Hemos ejecutado los comandos y procedimientos mencionados en este artículo en un sistema Ubuntu 20.04 LTS

Instalación y configuración de seguridad de MySQL

En esta sección, describimos cómo instalar MySQL desde la línea de comandos de Ubuntu y configurar la seguridad.

Puede abrir la línea de comandos de Ubuntu, la terminal, ya sea desde la barra de búsqueda del iniciador de aplicaciones o presionando Ctrl + Alt + T.

Paso 1: actualizar el índice del repositorio

Para instalar la última versión disponible de un software de los repositorios de Internet, su índice de repositorio local debe coincidir. Ejecute el siguiente comando como sudo para actualizar su índice de repositorio local:

PS sudo apt-get update

Paso 2: Instale el servidor MySQL con apt

Ejecute el siguiente comando como sudo para instalar MySQL desde repositorios APT.

PS sudo apt-get install mysql-server

Tenga en cuenta que solo un usuario autorizado en Ubuntu puede agregar, eliminar y configurar software.

El sistema puede solicitarle la contraseña para sudo y también ofrecerle una opción Y / n para continuar con la instalación. Escriba Y y luego presione Enter; Luego, MySQL se instalará en su sistema. Sin embargo, el proceso puede llevar algún tiempo dependiendo de la velocidad de Internet.

Paso 3: Verifique la instalación (opcional)

Puede verificar su instalación de MySQL y también verificar el número de versión ejecutando el siguiente comando en su terminal:

$ mysql –versión

Paso 4: realice configuraciones de seguridad ejecutando el script de seguridad proporcionado

Siempre que instale una nueva copia de MySQL, hay algunas configuraciones predeterminadas que debe cambiar para aumentar la seguridad de su instalación de MySQL. Estos incluyen eliminar usuarios de prueba, bases de datos de prueba y permitir el inicio de sesión remoto por parte de un usuario root.

Ejecute el siguiente comando como sudo para iniciar el script de seguridad:

PS sudo mysql_secure_installation

Cuando ejecute este comando, lo primero que se le pedirá que haga es configurar el complemento Validar contraseña. Esto le permite establecer una contraseña segura para root, dependiendo de la fuerza de la contraseña que desee elegir. Escriba Y para iniciar el complemento Validar contraseña y obtendrá el siguiente mensaje:

Nivel de política de validación de contraseña

Enter el número de su elección para la seguridad de la contraseña y presione Enter. El sistema le pedirá la nueva contraseña de root. Escriba la contraseña y vuelva a escribirla en las siguientes instrucciones.

Establecer la contraseña de root de MySQL

El sistema mostrará la seguridad de la contraseña que proporcionó y también le preguntará si desea continuar con la contraseña.

Seguridad de la contraseña

Escriba Y para Sí y presione Enter.

El sistema ahora le hará una serie de preguntas, una a la vez, y puede configurar la seguridad de su sistema según sus respuestas a estas preguntas.

Serie de preguntas:

La primera pregunta le preguntará si desea eliminar los usuarios de prueba anónimos.

Eliminar usuario anónimo

Presione y y el Enter llave.

La segunda pregunta le preguntará si desea no permitir el inicio de sesión de root desde un sistema remoto. Normalmente, esta debería ser su elección, porque para un sistema seguro, el root solo debería poder conectarse desde localhost.

Por lo tanto, le recomendamos que ingrese y.

La tercera pregunta le pregunta si desea eliminar la base de datos MySQL predeterminada llamada “prueba” de su sistema y también eliminar el acceso a ella.

Eliminar la base de datos de prueba

Escriba y para eliminar esta base de datos de prueba.

Para que se apliquen todos los cambios configurados anteriormente, el sistema debe volver a cargar las tablas de permisos. Enter y se aplicarán todos sus cambios de seguridad.

Vuelva a cargar los permisos de la base de datos para aplicar cambios

Configuración de root para usar el shell MySQL

Al ejecutar el script de seguridad, especificó una contraseña para root. Sin embargo, este usuario no puede conectarse a MySQL Shell con la misma contraseña. Puede configurar root para usar MySQL Shell cambiando su método de autenticación del predeterminado “auth_socket” a “mysql_native_password”.

He aquí cómo hacerlo:

Paso 1: Inicie MySQL Shell

Primero, inicie el shell MySQL ejecutando el siguiente comando como sudo:

PS sudo mysql

Iniciar MySQL Shell

Esto iniciará el shell de MySQL para que pueda trabajar en el indicador de MySQL.

Paso 2: Verifique el método de autenticación para usuarios de MySQL

En el indicador de MySQL, ingrese el siguiente comando, que le permitirá verificar el método de autenticación / complemento que todas sus cuentas de MySQL están usando actualmente:

mysql> SELECCIONAR usuario, cadena_de_autenticación, complemento, host DE mysql.user;

Lista de usuarios de MySQL

En el resultado anterior, puede ver que root usa el complemento auth-socket para la autenticación de forma predeterminada.

Paso 3: cambiar el método de autenticación para root

Nuestro objetivo es que el usuario root se autentique en MySQL con una contraseña. Para hacer esto, ejecute el siguiente comando, que tendrá al usuario root identificado por mysql_native_password. Recuerde que esta contraseña debe ser muy segura.

mysql> ALTER USER ‘root’ @ ‘localhost’ IDENTIFICADO CON mysql_native_password POR ‘contraseña’;

Cambiar el método de autenticación para el usuario root

A partir de ahora, su usuario root ya no tendrá la contraseña que especificó al ejecutar el script de seguridad proporcionado, sino la contraseña segura que especificó en el comando anterior.

Paso 4: recargar las tablas de subvenciones

Ahora es el momento de decirle al servidor que utilice la nueva configuración de permisos a partir de ahora. Ejecute el siguiente comando en el símbolo del sistema de MySQL para volver a cargar las tablas de concesión y registrar sus cambios:

mysql> PRIVILEGIOS DE FLUSH;

Recargar tablas de subvenciones

Paso 5: Vuelva a verificar el método de autenticación para los usuarios de MySQL

Ahora, si vuelve a verificar el método de autenticación para sus cuentas de usuario de MySQL usando el siguiente comando, verá que su usuario root ahora está usando el complemento mysql_native_password para la autenticación:

mysql> SELECCIONAR usuario, cadena_de_autenticación, complemento, host DE mysql.user;

Vuelva a verificar el método de autenticación

Ahora que su usuario root está configurado para conectarse al shell MySQL con una contraseña segura, puede salir del shell con el comando exit de la siguiente manera:

mysql> salir

Probando si MySQL se está ejecutando

Para probar si MySQL se está ejecutando en su sistema o no, puede utilizar uno de los siguientes métodos:

Método 1: comprobar el estado de mysql.service

Después de instalar MySQL en su sistema, lo más probable es que mysql.service se esté ejecutando automáticamente. El resultado del siguiente comando debe verificar el estado activo del servicio:

$ systemctl estado mysql.service

Verificar el estado del servicio MySQL

Si por alguna razón el servicio no se está ejecutando, puede usar el siguiente comando como sudo para iniciar el servicio:

PS sudo systemctl iniciar mysql

Puede usar el siguiente comando para detener el servicio nuevamente si es necesario:

PS sudo systemctl detener mysql

Método 2: conectándose a MySQL Admin como root y ejecutando cualquier comando administrativo

MySQL Admin es un cliente que le permite realizar operaciones administrativas en MySQL. Como un example, ejecutemos uno de los comandos administrativos sobre él para verificar si el sistema está funcionando correctamente y nuestra raíz está configurada para hacerlo.

PS sudo mysqladmin -p -u versión raíz

Este comando es para conectarse a MySQL como root, obtener la contraseña de root y luego devolver el MySQL admin número de versión.

Verifique la versión de MySQL con el comando mysqladmin

Si el comando hace lo que se supone que debe hacer y produce un resultado similar al anterior, puede estar seguro de que MySQL está en funcionamiento.

El proceso de instalación y configuración de MySQL en Ubuntu puede parecer engorroso para algunos, especialmente cuando se usa la línea de comandos. Sin embargo, si sigue cuidadosamente los pasos anteriores uno por uno, no tendrá problemas para tener una instalación confiable, segura y estable de MySQL ejecutándose en su Ubuntu.