sql >> Base de Datos >  >> RDS >> Mysql

Cómo instalar y configurar MySQL en Ubuntu

MySQL es uno de los sistemas de administración de bases de datos relacionales (RDBMS) de código abierto más comunes, basado en el lenguaje de consulta estructurado (SQL), que es un lenguaje de programación utilizado para administrar los datos almacenados en una base de datos.

Es rápido, sencillo de usar, incluso para los novatos que se inician en el desarrollo de back-end, y está integrado en varios paquetes de pila como Xampp, Lampp y Wamp.

En esta publicación en particular, le mostraremos cómo instalar el servidor MySQL en su sistema Ubuntu. La información adicional incluye la configuración de las opciones de seguridad, el ajuste de los métodos de autenticación y la creación de un nuevo usuario. Nuestra versión de Ubuntu preferida en este tutorial es Ubuntu 20.04 LTS, que es la última versión al momento de escribir este artículo.

Instalación de MySQL en Ubuntu

Requisitos

Deberá tener privilegios elevados (root) en su sistema. Puede hacerlo ejecutando el siguiente comando.

sudo su

Procedimiento

Al momento de escribir esta publicación, la versión actual de MySQL Linux es la versión 5.7. Para comenzar con la instalación, siga los pasos a continuación:

Paso 1) Asegúrese de que todos los paquetes y repositorios de su sistema estén actualizados. Puede hacerlo ejecutando el siguiente comando:

sudo apt update

Paso 2) Ahora, instalaremos MySQL a través del administrador de paquetes apt. Ejecute el siguiente comando.

sudo apt install mysql-server

Paso 3) Después de una instalación exitosa, el servicio mysql debería iniciarse automáticamente. Puede confirmarlo ejecutando el siguiente comando:

sudo systemctl status mysql

Deberías obtener un resultado similar al de la imagen de abajo.

En cualquier caso de que el servicio no se esté ejecutando, ejecute el siguiente comando:

sudo /etc/init.d/mysql start

Verificar la instalación de MySQL (opcional)

Puede verificar su instalación ejecutando el siguiente comando, que generará la versión y distribución de MySQL instalada en su sistema.

mysql --version

Asegure su servidor MySQL

Ahora que el servidor MySQL se instaló correctamente, debe configurar algunos parámetros para garantizar la seguridad del servidor y las bases de datos que configure en el futuro.

En otros casos, una vez completada la instalación del paquete MySQL Server, la utilidad mysql-secure-installation se iniciará automáticamente. Sin embargo, si este no es su caso, ejecute el siguiente comando:

sudo mysql_secure_installation

Verá un mensaje que le preguntará si desea VALIDAR EL COMPLEMENTO DE CONTRASEÑA. Mejora la seguridad del servidor MySQL al verificar la seguridad de las contraseñas de los usuarios, lo que permite a los usuarios establecer solo contraseñas seguras. Presione Y para aceptar VALIDACIÓN o la tecla VOLVER para omitir.

A continuación, debería ver un mensaje para establecer la contraseña de root. Ingresa tu contraseña y presiona enter. Tenga en cuenta que, por razones de seguridad, lo que escriba en la consola no se muestra.

A continuación, debería ver un mensaje que le pregunta si desea eliminar a todos los usuarios anónimos, ingrese Y para SÍ. Para cualquier otra indicación desde aquí, ingrese Y para SÍ.

Inicie sesión como root y ajuste la autenticación de usuario

El servidor MySQL viene con una utilidad del lado del cliente que le permite acceder e interactuar con la base de datos desde la terminal de Linux.

Por lo general, después de una instalación nueva de MySQL en Ubuntu sin realizar ninguna configuración, los usuarios que acceden al servidor se autentican mediante el complemento del socket de autenticación (auth_socket).

El uso de auth_socket impide que el servidor autentique a un usuario mediante una contraseña. No solo plantea problemas de seguridad, sino que también impide que los usuarios accedan a la base de datos utilizando programas externos como phpMyAdmin. Necesitamos cambiar el método de autenticación de auth_socket al uso de mysql_native_password.

Para hacer esto, necesitaremos abrir la consola de MySQL. Ejecute el siguiente comando en la terminal de Linux.

sudo mysql

Ahora, debemos verificar el método de autenticación utilizado por la base de datos en diferentes usuarios. Puede hacerlo ejecutando el siguiente comando.

SELECT user,authentication_string,plugin,host FROM mysql.user;

A partir de la imagen de arriba, podemos confirmar que el usuario root de hecho está autenticado usando el complemento auth_socket. Necesitamos cambiar al uso de 'autenticación de contraseña' usando el comando 'ALTERAR USUARIO' a continuación. Asegúrese de usar una contraseña segura (debe tener más de ocho caracteres que combinen números, cadenas y símbolos especiales), ya que reemplazará la contraseña que configuró al ejecutar el comando 'sudo mysql_secure_installation' anterior. Ejecute el siguiente comando.

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';

Tenga en cuenta que el texto resaltado en la imagen de arriba es donde ingresará su contraseña segura. Enciérrelo entre etiquetas individuales. Ahora, necesitamos volver a cargar las tablas de concesión y actualizar los cambios en el servidor MySQL. Haga esto ejecutando el siguiente comando.

FLUSH PRIVILEGES;

Una vez hecho esto, debemos confirmar que el uso raíz ya no usa auth_socket para la autenticación. Hágalo ejecutando el siguiente comando de nuevo.

SELECT user,authentication_string,plugin,host FROM mysql.user;

En la imagen de arriba, vemos que el método de autenticación raíz ha cambiado de 'auth_socket' a 'contraseña'.

Como hemos cambiado el método de autenticación para root, no podemos usar el mismo comando que usamos antes para abrir la consola de MySQL. Es decir, 'sudo mysql'. Necesitaremos incluir los parámetros de nombre de usuario y contraseña, como se muestra a continuación.

mysql -u root -p

La '-u' indica el usuario, que es 'root' para nuestro caso y '-p' significa 'contraseña', que el servidor le pedirá que ingrese una vez que presione la tecla Intro.

Crear un nuevo usuario

Una vez que todo esté configurado, puede crear un nuevo usuario al que otorgará los privilegios apropiados. En nuestro caso aquí, crearemos un usuario 'tuts_fosslinux' y asignaremos derechos sobre todas las tablas de la base de datos y permisos para cambiar, eliminar y agregar privilegios de usuario. Ejecute los comandos debajo de la línea por línea.

CREATE USER 'tuts_fosslinux'@'localhost' IDENTIFIED BY 'strong_password';

GRANT ALL PRIVILEGES ON *.* TO 'tuts_fosslinux'@'localhost' WITH GRANT OPTION;

El primer comando creará el nuevo usuario y el segundo asignará los privilegios necesarios.

Ahora podemos probar nuestro nuevo usuario ejecutando el siguiente comando.

mysql -u tuts_fosslinux -p

Instalar servidor MySQL en el servidor Ubuntu

La instalación del servidor MySQL en el servidor Ubuntu no es muy diferente de los pasos descritos anteriormente. Sin embargo, dado que se accede a un servidor de forma remota, también debemos habilitar el acceso remoto para nuestro servidor.

Para instalar la base de datos y configurar las opciones de seguridad, simplemente ejecute los siguientes comandos línea por línea en la Terminal.

sudo apt update
sudo apt install mysql-server
sudo mysql_secure_installation

Después de una instalación exitosa, necesitaremos habilitar el acceso remoto. Lógicamente, todo lo que tenemos que hacer es abrir un puerto en el servidor de seguridad de Ubuntu para que el servidor MySQL se comunique. De forma predeterminada, el servicio MySQL se ejecuta en el puerto 3306. Ejecute los siguientes comandos.

sudo ufw enable
sudo ufw allow mysql

Para mejorar la confiabilidad y accesibilidad de nuestras bases de datos MySQL, podemos configurar el servicio del servidor MySQL para que comience a ejecutarse en el arranque. Para hacerlo, ejecute el siguiente comando.

sudo systemctl enable mysql

Ahora necesitaremos configurar las interfaces de nuestro servidor. Permitirá que el servidor escuche las interfaces accesibles de forma remota. Tendremos que editar el archivo ‘mysqld.cnf’. Ejecute los siguientes comandos.

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

De forma predeterminada, la dirección de vinculación es "127.0.0.1". Agregue la dirección de vinculación para su interfaz de red pública y otra para la interfaz de red de servicio. Puede configurar su dirección de enlace como '0.0.0.0' para todas las direcciones IP.

Conclusión

Espero que haya disfrutado este tutorial sobre cómo configurar el servidor MySQL en su sistema Ubuntu. Si recién está comenzando con MySQL y todo lo que necesita es crear una base de datos y un usuario simples, los pasos anteriores deberían ser de gran ayuda. Si encuentra este artículo ingenioso, siéntase libre de compartir el enlace con un amigo.