El trabajo en bases de datos es una de las tareas que hoy en día ha tomado más y más auge debido a todo lo que estas integran e involucran un completo portafolio por parte de los desarrolladores en aspectos de seguridad, escalabilidad, desempeño, compatibilidad y trabajo entre más lenguajes.
Para ninguno es un secreto que MySQL es el sistema de gestión de bases de datos de SQL el cual es distribuido por Oracle Corporation que tiene una de las acogidas más amplias por todo lo que este añade y ofrece para todo tipo de organización.
MySQL forma parte clave de LAMP (Linux, Apache, MySQL, PHP / Python / Perl) y hace uso del modelo relacional tomando como base el lenguaje de consulta estructurado para la gestión de los datos.
- Las bases de datos MySQL son relacionales
- MySQL es un sistema de gestión de bases de datos integral, gratuito y potente
- MySQL Server funciona bajo la estructura de cliente / servidor o bien en sistemas integrados
- Integración de diccionario de datos
- Uso de declaraciones de definición de datos atómicos (Atomic DDL)
- Seguridad y gestión de cuentas centralizada
- Administrador de recursos integrado
- Gestión de cifrado de tablas
Con todo esto en mente veremos cómo instalar MySQL en Ubuntu 20.10.
Cómo actualizar Ubuntu
Como siempre el primer paso que daremos será actualizar los paquetes y repositorios del sistema. Para ello ejecutamos lo siguiente:
sudo apt update
2. Cómo instalar MySQL en Ubuntu 20.10
Una vez el sistema haya sido actualizado procedemos a instalar MySQL con el siguiente comando:
sudo apt install mysql-server
Ingresamos la letra S para confirmar la descarga e instalación de los paquetes necesarios. Cuando esto haya finalizado veremos lo siguiente:
Hasta este punto hemos instalado MySQL, como vemos, no se solicita establecer una contraseña ni aplicar algún cambio en la configuración de MySQL.
3. Cómo configurar MySQL
MySQL integra un script de seguridad en el DBMS el cual nos permite editar las opciones predeterminadas menos seguras de MySQL. Si lo dejamos tal como esta podemos ser víctimas de ataques o mas situaciones que ponen en riesgo la integridad de los datos.
Para correr este script debemos ejecutar lo siguiente:
sudo mysql_secure_installation
En primer lugar, se solicita si deseamos establecer una contraseña segura, esto permite validar la seguridad de la contraseña para nuevos usuarios de MySQL antes de que sean validados en la base. En caso de ingresar “y” debemos usar el nivel de política nivel 2. Este nivel solicitará que las contraseñas dispongan de por lo menos ocho caracteres de longitud, así como que se integre una combinación de mayúsculas, minúsculas, números y caracteres especiales.
En las siguientes preguntas podemos establecer las respuestas adecuadas las cuales por seguridad siempre será “Y”:
4. Cómo crear usuarios y conceder permisos en MySQL Ubuntu
Una vez configuremos las políticas de seguridad de MySQL vamos a crear usuarios. Por defecto MySQL creará una cuenta de usuario root para administrar la base de datos. Este es un usuario que cuenta con todos los privilegios sobre el servidor MySQL, es decir, tiene acceso total sobre la base de datos, tabla, usuario y demás elementos de MySQL, de allí la importancia de crear una cuenta extra, en los sistemas operativos Ubuntu con MySQL 5.7 (y versiones posteriores).
El usuario root de MySQL ha sido configurado para autenticarse tomando como base el complemento auth_socket de forma predeterminada en lugar de usar una contraseña. Al usar este complemento es que obligatoriamente se necesita que el nombre del usuario del sistema operativo desde donde se invoca a MySQL coincida con el nombre del usuario MySQL ingresado.
En este caso debemos acceder a mysql con privilegios de sudo:
sudo mysql
Listaremos los usuarios actuales con sus opciones de autenticación con el siguiente comando:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Podemos ver que el usuario root hace uso de “auth_socket”. Podemos configurar el usuario root para autenticar con una contraseña. En este caso de debe ejecutar la instrucción ALTER USER y definir qué complemento de autenticación se ha de usar:
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'contraseña';
Luego de esto aplicamos los cambios con “FLUSH PRIVILEGES;”, comprobamos el cambio con:
SELECT user,authentication_string,plugin,host FROM mysql.user;
Podemos ver que se ha editado el complemento de autenticación.
El complemento caching_sha2_password es el complemento de autenticación mas usado en MySQL, esto se debe a que ofrece un cifrado de contraseña mucho más potente.
Salimos de MySQL con exit.
Accedemos a MySQL ingresando la contraseña de autenticación:
mysql -u root -pAhora crearemos un usuario administrador con la siguiente sintaxis:
CREATE USER 'usuario'@'localhost' IDENTIFIED BY 'contraseña';Ahora concedemos los privilegios a ese usuario:
GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost' WITH GRANT OPTION;Salimos de MySQL con exit.
5. Cómo validar el estado del servicio de MySQL Ubuntu
Validamos el estado del servicio de MySQL con la linea:
systemctl status mysql.service
Como vemos su estado es activo y en ejecución, ahora vamos a establecer una conexión con la base de datos a traves de la herramienta mysqladmin (es un cliente que le permite ejecutar comandos administrativos):
sudo mysqladmin -p -u solvetic version
Si vemos esto quiere decir que MySQL esta trabajando de la forma esperada en Ubuntu 20.10.
Solvetic te ha explicado cómo instalar MySQL así como su configuración de una manera dinámica pero totalmente práctica.